Part Number Hot Search : 
BCR19 37004 A5764HN BCM5461S 13N60 23101 06031 CDB5346
Product Description
Full Text Search
 

To Download EM78P809NP Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 EM78P809N
8-BIT Microcontroller
Product Specification
DOC. VERSION 1.0
ELAN MCCROELECTRONICS CORP.
July 2005
Trademark Acknowledgments: IBM is a registered trademark and PS/2 is a trademark of IBM. Windows is a trademark of Microsoft Corporation. ELAN and ELAN logo are trademarks of ELAN Microelectronics Corporation.
Copyright (c) 2005 by ELAN Microelectronics Corporation
All Rights Reserved
Printed in Taiwan
The contents of this specification are subject to change without further notice. ELAN Microelectronics assumes no responsibility concerning the accuracy, adequacy, or completeness of this specification. ELAN Microelectronics makes no commitment to update, or to keep current the information and material contained in this specification. Such information and material may change to conform to each confirmed order. In no event shall ELAN Microelectronics be made responsible for any claims attributed to errors, omissions, or other inaccuracies in the information or material contained in this specification. ELAN Microelectronics shall not be liable for direct, indirect, special incidental, or consequential damages arising from the use of such information or material. The software (if any) described in this specification is furnished under a license or nondisclosure agreement, and may be used or copied only in accordance with the terms of such agreement. ELAN Microelectronics products are not intended for use in life support appliances, devices, or systems. Use of ELAN Microelectronics product in such applications is not supported and is prohibited. NO PART OF THIS SPECIFICATION MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS WITHOUT THE EXPRESSED WRITTEN PERMISSION OF ELAN MICROELECTRONICS.
ELAN MICROELECTRONICS CORPORATION
Headquarters: No. 12, Innovation Road 1 Hsinchu Science Park Hsinchu, Taiwan 30077 Tel: +886 3 563-9977 Fax: +886 3 563-9966 http://www.emc.com.tw Hong Kong: Elan (HK) Microelectronics Corporation, Ltd. Rm. 1005B, 10/F Empire Centre 68 Mody Road, Tsimshatsui Kowloon , HONG KONG Tel: +852 2723-3376 Fax: +852 2723-7780 elanhk@emc.com.hk Shenzhen: Elan Microelectronics Shenzhen, Ltd. SSMEC Bldg., 3F, Gaoxin S. Ave. Shenzhen Hi-Tech Industrial Park Shenzhen, Guandong, CHINA Tel: +86 755 2601-0565 Fax: +86 755 2601-0500 USA: Elan Information Technology Group 1821 Saratoga Ave., Suite 250 Saratoga, CA 95070 USA Tel: +1 408 366-8223 Fax: +1 408 366-8220
Europe: Elan Microelectronics Corp. (Europe) Siewerdtstrasse 105 8050 Zurich, SWITZERLAND Tel: +41 43 299-4060 Fax: +41 43 299-4079 http://www.elan-europe.com
Shanghai: Elan Microelectronics Shanghai Corporation, Ltd. 23/Bldg. #115 Lane 572, Bibo Road Zhangjiang Hi-Tech Park Shanghai, CHINA Tel: +86 021 5080-3866 Fax: +86 021 5080-4600
Contents
Contents
1 General Description********************************************************************************************1 2 Features***************************************************************************************************************1
2.1 2.2 CPU ****************************************************************************************************************************************1 Applications*****************************************************************************************************************************2
3 Pin Assignment***************************************************************************************************3 4 Pin Description****************************************************************************************************3 4 Function Description ******************************************************************************************5
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Functional Block Diagram*******************************************************************************************************5 Operating Registers ****************************************************************************************************************6 Special Purpose Registers****************************************************************************************************23 CPU Operation Mode ***********************************************************************************************************27 AD Converter ************************************************************************************************************************29 Time Base Timer and Keytone Generator ****************************************************************************31 UART (Universal Asynchronous Receiver/Transmitter)********************************************************33 SPI (Serial Peripheral Interface) *******************************************************************************************36 Timer/Counter 2 ********************************************************************************************************************40
4.10 Timer/Counter 3 ********************************************************************************************************************42 4.11 Timer/Counter 4 ********************************************************************************************************************44 4.12 TCC/WDT & Prescaler**********************************************************************************************************46 4.13 I/O Ports********************************************************************************************************************************47 4.14 RESET and Wake-up************************************************************************************************************47 4.15 Interrupt*********************************************************************************************************************************54 4.16 Oscillator *******************************************************************************************************************************55 4.17 Code Option Register ***********************************************************************************************************58 4.18 Power-on Considerations *****************************************************************************************************59 4.19 Instruction Set ***********************************************************************************************************************61
Product Specification (V1.0) 07.26.2005
* iii
Contents
5 Absolute Maximum Ratings *****************************************************************************63
5.1 5.2 Absolute Maximum Ratings **************************************************************************************************63 Recommended Operating Conditions***********************************************************************************63
6 Electrical Characteristics *********************************************************************************64
6.1 6.2 6.3 DC Electrical Characteristics ************************************************************************************************64 AC Electrical Characteristic **************************************************************************************************67 Timing Diagram********************************************************************************************************************68
APPENDIX***************************************************************************************************************69
Package Types: ******************************************************************************************************************************69
Specification Revision History
Version 0.9 1.0 Preliminary Initial Version Revision Description Date 2004/03/04 2005/07/26
iv *
Product Specification (V1.0) 07.26.2005
EM78P809N
8-Bit Microcontroller
1
General Description
The EM78P809N is an 8-bit microprocessor with low-power, high-speed CMOS technology and high noise immunity. It has a built-in 8Kx13-bits Electrical One Time Programmable Read Only Memory (OTP-ROM). It provides multi-protection bits to prevent intrusion of user's OTP memory codes. Seven Option bits are also available to meet user's requirements. With its OTP-ROM feature, the EM78P809N is able to offer a convenient way of developing and verifying user's programs. Moreover, user can take advantage of ELAN Writer to easily program his development code.
2
Features
2.1 CPU
Operating voltage: 2.5V~5.5V Operating temperature range: -40C~85C Operating frequency range (base on 2 clocks) Crystal mode: 1MHz ~ 8MHz at 4.5V, 1MHz ~ 4MHz at 2.5V RC mode: 1MHz ~ 4MHz at 2.5V Low power consumption: Typically 0.8 A, during sleep mode 8K x 13 bits on-chip ROM Multi-security bits to prevent intrusion of OTP memory codes One configuration register accommodates user's requirements 144 x 8 bits on-chip registers (SRAM, general purpose register) 4 bi-directional I/O ports (22 pins) High sink current output pin: 14 pins 10 programmable pull high I/O pins 10 programmable pull low I/O pins 8 level stacks for subroutine nesting High performance MCU: Two clocks per instruction cycle 15 interrupts (External: 4, Internal: 11) Programmable free running watchdog timer
*1
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller 16 bits Counter/Timer TC2: Timer/Counter/Window 8 bits Timer/Counter TCC: 8-bit real time clock/counter with overflow interrupt TC3: Timer/Counter/Capture TC4: Timer/Counter/ PWM (pulse width modulation)/PDO (Programmable divider output) Time Base Timer: (1Hz ~16kHz at 8MHz) Key tone output: (1kHz ~ 8kHz at 8MHz) Serial transmitter/receiver interface Serial Peripheral Interface (SPI): Three-wire synchronous communication Universal asynchronous receiver transmitter interface (UART): Two wire asynchronous communication AD converter 8 channel 10 bits resolution AD converter Operating mode: Normal mode: Oscillation circuit turned on, CPU and Peripheral circuit in operation Idle mode: Oscillation circuit turned on, CPU halt and Peripheral circuit in operation Sleep mode: Oscillation circuit turned off, CPU and Peripheral circuit halt Package types: 28-pin DIP 600 mil: EM78P809NP 28-pin SOP 300 mil: EM78P809NM 28-pin SSOP 209 mil: EM78P809NS 99.9% single instruction cycle commands
2.2 Applications
General purpose
2*
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
3
Pin Assignment
(ACLK) OSCO OSCI TEST (AD0) P90 (AD1) P91 (AD2) P92 (AD3) P93 (AD4) P94 (AD5) P95 (AD6) P96 (AD7/VREF) P97 (TC3, INT3) P80 (TC4, /PWM, /PDO) P81 VSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15
VDD /RESET (VPP) P67 (DINCK) P66 (DATAIN) P65 (PGMB) P64 (/SS)(OEB) P63 (/TONE) P62 (TC2) P61 (INT1) P60 (/INT0) P73 (/SLEEP, /INT5) P72 (TX,SO) P71(RX,SI) P70 (/SCK)
EM78P809N Fig. 1. Pin Assignment
4
Pin Description
Table 1 Symbol Pin No.
VDD OSCI 28 2
Type
I * Power supply
Function
* Crystal type: Crystal input terminal * RC type: RC oscillator input pin * Crystal type: Output terminal for crystal oscillator * RC type: Instruction clock output * External clock signal input * Input pin with Schmitt trigger. If this pin remains at logic low, the controller will also remain in reset condition. * P60~P67 are bi-directional I/O pins * P60 can be used as external interrupt 0 (/INT0) * P61 can be used as external interrupt 1 (INT1)
OSCO
1
I/O
/RESET
27
I
P60~P67
19~26
I/O
* P62 can be used as 16-bit Timer/Counter 2 (TC2) * P63 can be used as divider output (/TONE) * P64 slave mode enable (/SS) * P60 ~ P63 can be used as pull high or pull low pins * P70~P77 are bi-directional I/O pins * P70 can be used as SPI serial clock input/output (/SCK) * P71 can be used as SPI serial data input (SI) or UART data receive input (RX)
P70~P73
15~18
I/O
* P72 can be used as SPI serial data output (SO) or UART data transmit output (TX) * P73 can be used as SLEEP mode release input (/SLEEP) or external interrupt input 5 (/INT5) * P70 ~ P73 can be used as pull high or pull low pins
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
*3
EM78P809N
8-Bit Microcontroller
Symbol Pin No.
Type
Function
* P80~P83 are bi-directional I/O pins * P80 can be used as 8-bit Timer/Counter 3 (TC3) or external Interrupt Input 3 (INT3) * P81 can be used as 8-bit Timer/Counter 4 (TC4) or programmable divider output (PDO) * P80 ~ P81 can be used as pull high or pull low pins * P90~P97 are bi-directional I/O pins
P80~P81
12~13
I/O
P90~P97 VSS NC
4~11 14 3
I/O -
* P90~P97 can be used as 8 channel 10-bit resolution A/D converter * P97 can be used as AD reference power supply input (VREF) * Ground * No connection OTP Programming Pins
VPP ACLK DATAIN DINCK PGMB OEB
27 1 25 26 24 23
I I I/O I I I
Programming voltage input CLK for OTP memory address increment ROM code series input and series output pin ROM code input clock Program write enable pin. Active low. Output enable pin. Active low.
4*
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4
Function Description
4.1 Functional Block Diagram
OSCI OSCO WDT timer ROM Oscillator Timing Control R1 (TCC) General RAM Control Sleep and Wake-up I/O Port WDT Prescaler TCC Prescaler Interrupt Control Instruction Register R3 R5 Instruction Decoder ALU R2 Stack
ACC
R4
DATA and CONTROL BUS
TC 2 (16-bit Timer/Counter) TC 3 (8-bit Timer/Counter, Capture Mode) TC 4 (8-bit Timer/Counter, PWM, PDO) SPI (Serial Peripheral Interface) UART (Universal Asynchronous Receiver/Transmitter) 8 channel 10 bit ADC Keytone TBT (Time Base Timer)
PORT6
PORT7
PORT8
PORT9
IOC6
R6
IOC7
R7
IOC8
R8
IOC9
R9
P60 ~ P67
P70 ~ P73
P80 ~ P81
P90 ~ P97
Fig. 2. Functional Block Diagram
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
*5
EM78P809N
8-Bit Microcontroller
4.2 Operating Registers
REGISTER BANK 0 Address REGISTER BANK 1 REGISTER BANK 2 REGISTER BANK 3 CONTROL REGISTER
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 : 1F
R0/ IAR R1/ TCC R2/ PC R3/ SR R4/ RSR SCR PORT6 PORT7 PORT8 PORT9 Reserved TC4CR TC4D ISFR0 ISFR1 ISFR2
16 Byte Common Register R3 (7,6)= (0,1) R3 (7,6)= (1,0) R3 (7,6)= (1,1)
TC3CR TC3DA TC3DB TC2CR/ ADDL TC2DH TC2DL ADCR ADIC ADDH TBKTC Reserved
URC1 URC2 URS URRD URTD Reserved Reserved Reserved Reserved Reserved Reserved
SPIC1 SPIC2 SPID Reserved Reserved PHC1 PLC1 PHC2 PLC2 Reserved Reserved
Reserved IOC6 IOC7 IOC8 IOC9 Reserved INTCR ADOSCR Reserved IMR1 IMR2
20 : 3F
BANK 0 R4 (7,6) = (0,0) 32 Byte Common Register
BANK 1 R4 (7,6) = (0,1) 32 Byte Common Register
BANK2 R4 (7,6) = (1,0) 32 Bytes Common Register
BANK 3 R4 (7,6) = (1,1) 32 Bytes Common Register
Fig. 3. Operating Registers
6*
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller * R0/IAR - Indirect Addressing Register ( Address: 00h )
R0 is not a physically implemented register. Its major function is to act as an indirect addressing pointer. Any instruction using R0 as a pointer actually accesses data pointed by the RAM Select Register (R4). * R1/TCC - Time Clock /Counter ( Address: 01h )
This register is writable and readable just like the other registers. The contents of the prescaler counter are cleared only when a value is written into the TCC register. * R2/PC - Program Counter & Stack ( Address: 02h ) Depending on the device type, R2 and hardware stack are 10-bit wide. The structure is depicted in Fig.4. Generates 8192 x13 bits on-chip OTP ROM addresses to the relative programming instruction codes. One program page is 1024 words long. R2 is set as all "0"s when under RESET condition "JMP" instruction allows direct loading of the lower 10 program counter bits. Thus, "JMP" allows the PC to go to any location within a page. "CALL" instruction loads the lower 10 bits of the PC, and then PC+1 is pushed into the stack. Thus, the subroutine entry address can be located anywhere within a page. "RET" ("RETL k", "RETI") instruction loads the program counter with the contents of the top-level stack. All instructions are single instruction cycle (fclk/2 or fclk/4) except for the instruction that would change the contents of R2. Such instruction will need one more instruction cycle. For an interrupt trigger, the program ROM will jump to individual interrupt vector at Page 0. The CPU will store ACC, R3 status and R5 PAGE automatically, it will restore after instruction RETI.
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
*7
EM78P809N
8-Bit Microcontroller
R5 PC A12 A11 A10 A9 A8 A7 ~ A0
Reset Vector WDT Timer Overflow
Store ACC, R3, R5 0000h 0003h 0006h 0009h 000Fh 0012h 0015h
000 : PAGE0 0000~03FF 001 : PAGE1 0400~07FF 010 : PAGE2 0800~0BFF 011 : PAGE3 0C00~0FFF 100 : PAGE4 1000~13FF 101 : PAGE5 1400~17FF 110 : PAGE6 1800~1BFF 111 : PAGE7 1C00~1FFF
CALL RET RETL RETI
External INT0 Pin Interrupt Occurs TCC Overflow External INT1 pin Interrupt Occurs Time Base Timer Interrupt UART Transmit Data Buffer Empty UART Receive Data Buffer Full UART Receive Error TC3 Interrupt SPI Interrupt TC4 Interrupt External INT3 Pin Interrupt Occurs AD Conversion Complete External INT5 Pin Interrupt Occurs
STACK LEVEL 1 STACK LEVEL 2 STACK LEVEL 3 STACK LEVEL 4 STACK LEVEL 5 STACK LEVEL 6 STACK LEVEL 7 STACK LEVEL 8
User Memory Space
0018h 001Bh 0021h 0024h 0027h 0030h 0033h 0036h
On-chip Program Memory
1FFFh
Fig. 4. Program Counter Organization * R3/SR - Status Register ( Address: 03h )
Bit 7 RBS1 Bit 6 RBS0 Bit 5 0 Bit 4 T Bit 3 P Bit 2 Z Bit 1 DC Bit 0 C
Bit 7 ~ Bit 6 (RBS1 ~ RBS0) : R-Register page select
RBS1 0 0 1 1 RBS0 0 1 0 1 Register Bank (Address 05H ~ 0FH) Bank 0 Bank 1 Bank 2 Bank 3
Bit 5 : Not used Bit 4 (T) : Time-out bit. Set to "1" with the "SLEP" and "WDTC" commands, or during power up, and reset to "0" with the WDT time-out.
8*
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Bit 3 (P) : Power down bit. Set to "1" during power on or by a "WDTC" command and reset to "0" by a "SLEP" command. Bit 2 (Z) : Zero flag. Set to "1" if the result of an arithmetic or logic operation is zero. Bit 1 (DC) : Auxiliary carry flag Bit 0 (C) : Carry flag * R4/RSR - RAM Select Register ( Address: 04h )
Bit 7 GRBS1 Bit 6 RBS0 Bit 5 RSR5 Bit 4 RSR4 Bit 3 RSR3 Bit 2 RSR2 Bit 1 RSR1 Bit 0 RSR0
Bit 7: 6 ( GRBS1 : GRBS0 ) : determine which general purpose banks are activated among the 4 banks. Use BANK instruction (e.g. BABK 1) to change bank.
GRBS1 0 0 1 1 GRBS0 0 1 0 1 General Purpose Register Bank (Address 20H ~ 3FH) Bank 0 Bank 1 Bank 2 Bank 3
Bit 5: 0 ( RSR5 : RSR0 ) : are used to select the registers (address: 00h~3Fh) in the indirect addressing mode. If no indirect addressing is used, the RSR can be used as an 8-bit general-purpose read/write register. See the data memory configuration in Fig. 3. * * Register Bank 0 ( R3 bits (7, 6) = (0, 0) ) SCR - System Control Register, Program ROM Page Select ( Address: 05h )
Bit 7 0 Bit 6 PS2 Bit 5 PS1 Bit 4 PS0 Bit 3 0 Bit 2 1 Bit 1 SIS Bit 0 REM
Bit 6 (PS2) ~ 4 (PS0) : ROM Page select bits. User can use PAGE instruction (e.g. PAGE 1) or set PS2~PS0 bits to change the ROM page. When executing a "JMP", "CALL", or other instructions which cause the program counter to change (e.g. MOV R2, A), PS2~PS0 are loaded into the 13th to 11th bits of the program counter and select one of the available program memory pages. Note that RET (RETL, RETI) instruction does not change the PS2~PS0 bits. That is, return will always be to the page from where the subroutine was called, regardless of the PS2~PS0 bits current setting.
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
*9
EM78P809N
8-Bit Microcontroller
PS2 0 0 0 0 1 1 1 1
PS1 0 0 1 1 0 0 1 1
PS0 0 1 0 1 0 1 0 1
Program Memory Page [Address] Page 0 [0000~03FF] Page 1 [0400~07FF] Page 2 [0800~0BFF] Page 3 [0C00~0FFF] Page 4 [1000~13FF] Page 5 [1400~17FF] Page 6 [1800~1BFF] Page 7 [1C00~1FFF]
Bit 1 ( SIS ) : SLEEP and IDLE mode select. SIS = "0" : IDLE mode SIS = "1" : SLEEP mode Bit 0 ( REM ) : Release method for sleep mode. REM = "0" : /SLEEP pin input rising edge release REM = "1" : /SLEEP pin input "H" level release * PORT6 - Port 6 I/O Data Register ( Address: 06h )
Bit 7 P67 Bit 6 P66 Bit 5 P65 Bit 4 P64 Bit 3 P63 Bit 2 P62 Bit 1 P61 Bit 0 P60
Bit 7 ~ Bit 0 ( P67 ~ P60 ) : 8-bits Port 6 I/O data register User can use IOC6 register to define each bit whether input or output. * PORT7
Bit 7 0
Port 7 I/O Data Register ( Address: 07h )
Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 P73 Bit 2 P72 Bit 1 P71 Bit 0 P70
Bit 3 ~ Bit 0 ( P73 ~ P70 ) : Port 73 ~ Port 70 I/O data register User can use IOC7 register to define each bit whether input or output. * PORT8 - Port 8 I/O Data Register ( Address: 08h )
Bit 7 0 Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 P81 Bit 0 P80
Bit 1 ~ Bit 0 ( P81 ~ P80 ) : Port 81 ~ Port 80 I/O data register User can use IOC8 register to define input or output each bit.
10 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller * PORT9 - Port 9 I/O Data Register ( Address: 09h )
Bit 7 P97 Bit 6 P96 Bit 5 P95 Bit 4 P94 Bit 3 P93 Bit 2 P92 Bit 1 P91 Bit 0 P90
Bit 7 ~ Bit 0 ( P97 ~ P90 ) : 8-bit Port 97 ~ Port 90 I/O data register User can use IOC9 register to define each bit whether input or output. * TC4CR
Bit 7 TC4FF1
Timer/Counter 4 Control Register ( Address: 0Bh )
Bit 6 TC4FF0 Bit 5 TC4S Bit 4 TC4CK2 Bit 3 TC4CK1 Bit 2 TC4CK0 Bit 1 TC4M1 Bit 0 TC4M0
Bit 7 ~ Bit 6 ( TC4FF1 ~ TC4FF0 ) : Timer/Counter4 flip-flop control.
TC4FF1 0 0 1 1 TC4FF0 0 1 0 1 Operating Mode Clear Toggle Set Reserved
Bit 5 ( TC4S ) : Timer/Counter 4 start control. TC4S = "0" : Stop and clear counter TC4S = "1" : Start Bit 4 ~ Bit 2 ( TC4CK2 ~ TC4CK 0 ) : Timer/Counter 4 Clock Source Select
TC4CK2 0 0 0 0 1 1 1 1 TC4CK1 0 0 1 1 0 0 1 1 TC4CK0 0 1 0 1 0 1 0 1 Clock Source ( Normal, Idle ) Fc/2^11 Fc/2^7 Fc/2^5 Fc/2^3 Fc/2^2 Fc/2^1 Fc External clock (TC4 pin) Resolution ( Fosc=8M ) 250uS 16uS 4uS 1uS 500nS 250nS 125nS -Max. Time ( Fosc=8M ) 64mS 4mS 1mS 255uS 127.5uS 63.8uS 31.9uS --
Bit 1 ~ Bit 0 ( TC4M1 ~ TC4M0 ) : Timer/Counter 4 Operating Mode Select
TC4M1 0 0 1 1 TC4M0 0 1 0 1 Operating Mode Timer/Counter Reserved Programmable Divider output Pulse Width Modulation output
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 11
EM78P809N
8-Bit Microcontroller * TC4D - Timer 4 Data Buffer ( Address: 0Ch )
Bit 7 TC4D7 Bit 6 TC4D6 Bit 5 TC4D5 Bit 4 TC4D4 Bit 3 TC4D3 Bit 2 TC4D2 Bit 1 TC4D1 Bit 0 TC4D0
Bit 7 ~ Bit 0 ( TC4D7 ~ TC4D0 ) : Data buffer of 8-bit Timer/Counter 4. * ISFR0 - Interrupt Status Flag Register 0 and INT3 Edge Detect Flag. ( Address : 0Dh )
Bit 7 0 Bit 6 0 Bit 5 INT3F Bit 4 INT3R Bit 3 0 Bit 2 0 Bit 1 WDTIF Bit 0 EXIF0
Bit 5 ( INT3F ) : External interrupt 3 falling edge detect flag. INT3F = "0" : Falling edge is not detected INT3F = "1" : Falling edge is detected Bit 4 ( INT3R ) : External interrupt 3 rising edge detect flag. INT3R = "0" : Rising edge is not detected INT3R = "1" : Rising edge is detected Bit 1 ( WDTIF ) : WDT time-out flag, flag cleared by software. Bit 0 ( EXIF0 ) : External interrupt flag (INT0). Flag cleared by software. If the INT0EN is reset to "0", the flag is cleared. * ISFR1 - Interrupt Status Flag Register 1 ( Address: 0Eh )
Bit 7 EXIF5 Bit 6 TCIF2 Bit 5 ADIF Bit 4 0 Bit 3 EXIF3 Bit 2 TCIF4 Bit 1 SPIF Bit 0 TCIF3
Bit 7 ( EXIF5 ) : External Interrupt Flag (/INT5), flag cleared by software. Bit 6 ( TCIF2 ) : 16-bit Timer/Counter 2 Interrupt Flag, flag cleared by software. Bit 5 ( ADIF ) : AD conversion complete flag, flag cleared by software. Bit 3 ( EXIF3 ) : External Interrupt Flag (/INT3), flag cleared by software. Bit 2 ( TCIF4 ) : 8-bit Timer/Counter 4 Interrupt Flag, flag cleared by software. Bit 1 ( SPIF ) : SPI Mode Interrupt Flag, flag cleared by software. Bit 0 ( TCIF3 ) : 8-bit Timer/Counter 3 interrupt flag, flag cleared by software. "1" means interrupt request, "0" means non-interrupt ISFR1 can be cleared by instruction, but cannot be set by instruction IMR1 is the interrupt mask register Note that reading ISFR1 will obtain the result of the ISFR1 "logic AND" and IMR1.
12 * Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller * ISFR2 - Interrupt Status Flag Register 2 ( Address: 0Fh )
Bit 7 0 Bit 6 UERRIF Bit 5 RBFF Bit 4 TBEF Bit 3 TBIF Bit 2 EXIF1 Bit 1 0 Bit 0 TCIF0
Bit 6 (UERRIF) : UART Receiving Error Interrupt, cleared by software or UART disabled. Bit 5 (RBFF) : UART Receive Mode Data Buffer Full Interrupt Flag. Flag cleared by software. Bit 4 (TBEF) : UART Transmit Mode Data Buffer Empty Interrupt Flag. Flag cleared by software. Bit 3 (TBIF) : Time Base Timer Interrupt Flag. Flag cleared by software. Bit 2 (EXIF1) : External Interrupt Flag (INT1). Flag cleared by software. Bit 0 (TCIF0) : TCC Overflow Interrupt Flag. Set as TCC overflows; flag cleared by software. "1" means interrupt request, "0" means non-interrupt ISFR2 can be cleared by instruction, but cannot be set by instruction IMR2 is the interrupt mask register Note that reading ISFR2 will obtain the result of the ISFR2 "logic AND" and IMR2 * * Register Bank 1 ( R3 bits ( 7,6) = (0,1) ) TC3CR - Timer/Counter 3 Control Register ( Address: 05h )
Bit 7 TC3CAP Bit 6 TC3S Bit 5 TC3CK1 Bit 4 TC3CK0 Bit 3 TC3M Bit 2 0 Bit 1 0 Bit 0 0
Bit 7 ( TC3CAP ) : Software capture control TC3CAP = "0" : TC3CAP = "1" : Software capture Bit 6 ( TC3S ) : Timer/Counter 3 start control TC3S = "0" : Stop and counter clear TC3S = "1" : Start
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 13
EM78P809N
8-Bit Microcontroller Bit 5 ~ Bit 4 ( TC3CK1 ~ TC3CK0 ) : Timer/Counter3 Clock Source Select
TC3CK1 0 0 1 1 TC3CK0 0 1 0 1 Clock source ( Normal, Idle ) Fc/212 Fc/2
10 7
Resolution ( Fc=8M ) 512S 128S 16S -
Max. time ( Fc=8M ) 131.1mS 32.6mS 4.1mS -
Fc/2
External clock (TC3 pin)
Bit 3 ( TC3M ) : Timer/Counter 3 mode select TC3M = "0" : Timer/Counter3 mode TC3M = "1" : Capture mode * TC3DA - Timer 3 Data Buffer A ( Address: 06h )
Bit 7 TC3DA7 Bit 6 TC3DA6 Bit 5 TC3DA5 Bit 4 TC3DA4 Bit 3 TC3DA3 Bit 2 TC3DA2 Bit 1 TC3DA1 Bit 0 TC3DA0
Bit 7 ~ Bit 0 ( TC3DA7 ~ TC3DA0 ) : Data buffer of 8-bit Timer/Counter 3. Reset does not affect this register. * TC3DB - Timer 3 Data Buffer B ( Address: 07h )
Bit 7 TC3DB7 Bit 6 TC3DB6 Bit 5 TC3DB5 Bit 4 TC3DB4 Bit 3 TC3DB3 Bit 2 TC3DB2 Bit 1 TC3DB1 Bit 0 TC3DB0
Bit 7 ~ Bit 0 ( TC3DB7 ~ TC3DB0 ) : Data buffer of 8-bit Timer/Counter 3 Reset does not affect this register. * TC2CR/ ADDL Timer/Counter 2 Control Register, AD Low 2 bits Data Buffer ( Address: 08h )
Bit 7 ADD1 Bit 6 ADD0 Bit 5 0 Bit 4 TC2M Bit 3 TC2S Bit 2 TC2CK2 Bit 1 TC2CK1 Bit 0 TC2CK0
Bit 7 ~ Bit 6 ( ADD1 ~ ADD0 ) : AD low 2-bit data buffer Bit 4 ( TC2M ) : Timer/Counter 2 mode select TC2M = "0" : Timer/counter mode TC2M = "1" : Window mode Bit 3 ( TC2S ) : Timer/Counter 2 start control TC2S = "0" : Stop and counter clear TC2S = "1" : Start
14 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Bit 2 ~ Bit 0 ( TC2CK2 ~ TC2CK0 ) : Timer/Counter 2 Clock Source Select
TC2CK2 0 0 0 0 1 1 1 1 TC2CK1 0 0 1 1 0 0 1 1 TC2CK0 0 1 0 1 0 1 0 1 Clock Source ( Normal, Idle ) Fc/223 Fc/2
13 8 3
Resolution ( Fc=8M ) 1.05s 1.02ms 32s 1s 125ns -
Max. Time ( Fc=8M ) 19.1h 1.1min 2.1s 65.5ms 7.9ms -
Fc/2 Fc/2 Fc -
External clock (TC2 pin)
*
TC2DH - Timer 2 Data Buffer High Byte ( Address: 09h )
Bit 7 TC2D15 Bit 6 TC2D14 Bit 5 TC2D13 Bit 4 TC2D12 Bit 3 TC2D11 Bit 2 TC2D10 Bit 1 TC2D9 Bit 0 TC2D8
Bit 7 ~ Bit 0 ( TC2D15 ~ TC2D8 ) : 16-bit Timer/Counter 2 data buffer high byte. * TC2DL - Timer 2 Data Buffer Low Byte ( Address: 0Ah )
Bit 7 TC2D7 Bit 6 TC2D6 Bit 5 TC2D5 Bit 4 TC2D4 Bit 3 TC2D3 Bit 2 TC2D2 Bit 1 TC2D1 Bit 0 TC2D0
Bit 7 ~ Bit 0 ( TC2D7 ~ TC2D0 ) : 16-bit Timer/Counter 2 data buffer low byte. * ADCR - AD Control Register ( Address: 0Bh )
Bit 7 ADREF Bit 6 ADRUN Bit 5 ADCK1 Bit 4 ADCK0 Bit 3 ADP Bit 2 ADIS2 Bit 1 ADIS1 Bit 0 ADIS0
Bit 7 ( ADREF ) : AD reference voltage input select. ADREF = "0" : Internal VDD, P97 is used as IO. ADREF = "1" : External reference pin, P97 is used as reference input pin. Bit 6 ( ADRUN ) : AD Conversion start ADRUN = "0" : Reset on completion of the conversion by hardware, this bit cannot be reset by software. ADRUN = "1" : Conversion starts
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 15
EM78P809N
8-Bit Microcontroller Bit 5~ Bit 4 ( ADCK1 ~ ADCK0 ) : AD Conversion Time Select
ADCK1 0 0 1 1 ADCK0 0 1 0 1 Clock Source ( Normal, Idle ) Fc/4 Fc/16 Fc/32 Reserved Max. Operating Frequency (Fc) 1MHz 4MHz 8MHz -
Bit 3 ( ADP ) : AD power control ADP = "0" : Power on ADP = "1" : Power down Bit 2 ~ Bit 0 ( ADIS2 ~ ADIS0 ) : Analog Input Pin Select
ADIS2 0 0 0 0 1 1 1 1 ADIS1 0 0 1 1 0 0 1 1 ADIS0 0 1 0 1 0 1 0 1 Analog Input Pin AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
*
ADIC - AD Input Pin Control ( Address: 0Ch )
Bit 7 ADE7 Bit 6 ADE6 Bit 5 ADE5 Bit 4 ADE4 Bit 3 ADE3 Bit 2 ADE2 Bit 1 ADE1 Bit 0 ADE0
Bit 7 ~ Bit 0 ( ADE7 ~ ADE0 ) : AD input pin enable control. ADEx = "0" : PORT9.x act as I/O pin. ADEx = "1" : PORT9.x act as analog input pin. * ADDH - AD High 8-bit Data Buffer ( Address: 0Dh )
Bit 7 ADD9 Bit 6 ADD8 Bit 5 ADD7 Bit 4 ADD6 Bit 3 ADD5 Bit 2 ADD4 Bit 1 ADD3 Bit 0 ADD2
Bit 7 ~ Bit 0 ( ADD9 ~ ADD2 ) : AD high 8-bit data buffer.
16 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller * TBKTC - TBT/Keytone Control ( Address: 0Eh )
Bit 7 TEN Bit 6 TCK1 Bit 5 TCK0 Bit 4 0 Bit 3 TBTEN Bit 2 TBTCK2 Bit 1 TBTCK1 Bit 0 TBTCK0
Bit 7 ( TEN ) : Keytone enable control TEN = "0" : Disable TEN = "1" : Enable Bit 6 ~ Bit 5 ( TCK1 ~ TCK0 ) : Keytone Output Clock Source Select
TCK1 0 0 1 1 TCK0 0 1 0 1 Clock Source ( Normal, Idle ) Fc/2 Fc/2 Fc/2 Fc/2
13 12 11 10
Keytone Output Frequency ( Fc = 8MHz ) 0.976kHz 1.953kHz 3.906kHz 7.812kHz
Bit 3 ( TBTEN ) : Time Base Timer Enable Control TBTEN = "0" : Disable TBTEN = "1" : Enable Bit 2 ~ Bit 0 ( TBTCK2 ~ TBTCK0 ) : Time Base Timer Clock Source Select
TBTCK2 0 0 0 0 1 1 1 1 TBTCK1 0 0 1 1 0 0 1 1 TBTCK0 0 1 0 1 0 1 0 1 Clock Source ( Normal, Idle ) Fc/2 Fc/2 Fc/2 Fc/2 Fc/2 Fc/2 Fc/2
23 21 16 14 13 12 11 9
Interrupt Frequency ( Fc = 8MHz ) 0.95Hz 3.81Hz 122.07Hz 488.28Hz 976.56Hz 1953.12Hz 3906.25Hz 15625Hz
Fc/2
* *
Register Bank 2 ( R3 bits (7, 6) = (1, 0) ) URC1 - UART Control Register 1 ( Address: 05h )
Bit 7 URTD8 Bit 6 Bit 5 Bit 4 BRATE2 Bit 3 BRATE1 Bit 2 BRATE0 Bit 1 UTBE Bit 0 TXE UMODE1 UMODE0
Bit 7 ( URTD8 ) : Transmission data bit 8
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 17
EM78P809N
8-Bit Microcontroller Bit 6 ~ Bit 5 ( UMODE1 ~ UMODE0 ) : UART Transmission Mode Select Bit
UMODE1 0 0 1 1 UMODE0 0 1 0 1 UART Mode Mode1: 7-bits Mode2: 8-bits Mode3: 9-bits Reserved
Bit 4 ~ Bit 2 ( BRATE2 ~ BRATE1 ) : Transmit Baud Rate Select
BRATE2 0 0 0 0 1 1 1 1 BRATE1 0 0 1 1 0 0 1 1 BRATE0 0 1 0 1 0 1 0 1 Baud Rate Fc/13 Fc/26 Fc/52 Fc/104 Fc/208 Fc/416 TC4 Fc/96 e.g. Fc=8MHz 38400 19200 9600 4800 2400 1200
Bit 1 ( UTBE ) : UART transfer buffer empty flag. Set to 1 when transfer buffer is empty. Reset to 0 automatically when writing into the URTD register. UTBE bit will be cleared by hardware when enabling the transmission. UTBE bit is read-only. Therefore, writing to the URTD register is necessary when we want to start transmission shifting. Bit 0 ( TXE ) : Enable transmission TXE = "0" : Disable TXE = "1" : Enable * URC2 - UART Control Register 2 ( Address: 06h )
Bit 7 0 Bit 6 0 Bit 5 SBIM1 Bit 4 SBIM0 Bit 3 UINVEN Bit 2 0 Bit 1 0 Bit 0 0
Bit 5 ~ Bit 4 ( SBIM1 ~ SBIM0 ) : Serial bus interface operation mode select.
TC2CK1 0 0 1 1 TC2CK0 0 1 0 1 Operation Mode I/O mode SPI mode UART mode Reserved
Bit 3 ( UINVEN ) : Enable UART TXD and RXD port inverse output. UINVEN = "0" : Disable TXD and RXD port inverse output. UINVEN = "1" : Enable TXD and RXD port inverse output.
18 * Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller * URS - UART Status Register ( Address: 07h )
Bit 7 URRD8 Bit 6 EVEN Bit 5 PRE Bit 4 PRERR Bit 3 OVERR Bit 2 FMERR Bit 1 URBF Bit 0 RXE
Bit 7 ( URRD8 ) : Receiving data bit 8 Bit 6 ( EVEN ) : Select parity check EVEN = "0" : Odd parity EVEN = "1" : Even parity Bit 5 ( PRE ) : Enable parity addition PRE = "0" : Disable PRE = "1" : Enable Bit 4 ( PRERR ) : Parity error flag. Set to 1 when parity error occurred, and cleared to 0 by software. Bit 3 ( OVERR ) : Overrun error flag. Set to 1 when overrun error occurred, and cleared to 0 by software. Bit 2 ( FMERR ) : Framing error flag. Set to 1 when framing error occurred, and cleared to 0 by software. Bit 1 ( URBF ) : UART read buffer full flag. Set to 1 when one character is received. Reset to 0 automatically when read from the URS register. URBF will be cleared by hardware when receiving is enabled. URBF bit is read-only. Therefore, reading the URS register is necessary to avoid an overrun error. Bit 0 ( RXE ) : Enable receiving RXE = "0" : Disable RXE = "1" : Enable * URRD - UART Receive Data Buffer ( Address: 08h )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
URRD7
URRD6
URRD5
URRD4
URRD3
URRD2
URRD1
URRD0
Bit 7 ~ Bit 0 ( URRD7 ~ URRD0 ) : UART receive data buffer. Read only.
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 19
EM78P809N
8-Bit Microcontroller * URTD - UART Transmit Data Buffer ( Address: 09h )
Bit 7 URTD 7 Bit 6 URTD 6 Bit 5 URTD 5 Bit 4 URTD 4 Bit 3 URTD 3 Bit 2 URTD 2 Bit 1 URTD 1 Bit 0 URTD0
Bit 7 ~ Bit 0 ( URTD 7 ~ URTD 0) : UART transmit data buffer. Write only. * * Register Bank 3 ( R3 bits ( 7,6) = (1,1) ) SPIC1 - SPI Control Register 1 ( Address: 05h )
Bit 7 SMP Bit 6 DCOL Bit 5 BRS2 Bit 4 BRS1 Bit 3 BRS0 Bit 2 EDS Bit 1 DORD Bit 0 WBE
Bit 7 ( SMP ) : SPI data input sample phase. SMP = "0" : Input data sampled at middle of data output time SMP = "1" : Input data sampled at the end of data output time In using external clock, data input sample is fixed at the middle of data output time. Bit 6 ( DCOL ) : SPI Data collision. DCOL = "0" : Data collision didn't occur DCOL = "1" : Data collision occurred. It should be cleared by software. Bit 5 ~ Bit 3 ( BRS0 ~ BRS2 ) : SPI Clock Source Select
BRS2 0 0 0 0 1 1 1 1 BRS1 0 0 1 1 0 0 1 1 BRS0 0 1 0 1 0 1 0 1 Clock Source ( Normal, Idle ) Fc/2 Fc/2 Fc/2
13 11 10 8 6 5
Max. Transfer Rate ( Fc = 8MHz ) 0.95Kbit/s 3.8Kbit/s 7.6Kbit/s 30.5Kbit/s 122Kbit/s 244Kbit/s -
Fc/2 Fc/2 Fc/2
External clock (/SCK pin) External clock (/SCK pin)
Bit 2 ( EDS ) : Data shift out edge select. EDS = "0" : Rising edge EDS = "1" : Falling edge Bit 1 ( DORD ) : Data transmission order. DORD = "0" : Shift left (MSB first) DORD = "1" : Shift right (LSB first)
20 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Bit 0 ( WBE ) : Write buffer empty flag. Read only. WBE = "0" : Write buffer empty WBE = "1" : Not empty, set to "1" automatically when writing data to the data buffer. * SPIC2 - SPI Control Register 2 (Address : 06h )
Bit 7 SPIS Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 SPIM1 Bit 1 SPIM0 Bit 0 RBF
Bit 7 ( SPIS ) : SPI start shift, set the bit to "1" and shift register starts to shift. It is cleared by hardware when shifting is finished. In transferring the next data, it must be set to "1" again. SPIS = "0" : Shift finish SPIS = "1" : Shift starts Bit 2 ~ Bit 1 ( SPIM1 ~ SPIM0) : SPI Transfer Mode Select
TC2CK1 0 0 1 1 TC2CK0 0 1 0 1 Transfer Mode 8-bit Transmit/Receive mode 8-bit Transmit mode 8-bit Receive mode Reserved
Bit 0 ( RBF ) : Set to 1 by Buffer Full Detector, and cleared to 0 automatically when reading data from the SPID register. RBF bit will be cleared by hardware when enabling SPI. And RBF bit is read-only. Therefore, reading the SPRL register is necessary to avoid data collision to occur (DCOL). * SPID (SPI Data Buffer ( Address: 07h )
Bit 7 SPID7 Bit 6 SPID6 Bit 5 SPID5 Bit 4 SPID4 Bit 3 SPID3 Bit 2 SPID2 Bit 1 SPID1 Bit 0 SPID0
Bit 7 ~ Bit 0 ( SPID7 ~ SPID0 ) : SPI data buffer. * PHC1 - Pull High Control Register 1 ( Address: 0Ah )
Bit 7 Bit 6 Bit 5 /PHE81 Bit 4 /PHE80 Bit 3 /PHE63 Bit 2 /PHE62 Bit 1 /PHE61 Bit 0 /PHE60
Bit 5 ~ 4 ( /PHE81 ~ /PHE80 ) : bits 1, 0 of Port 8 Pull high enable bit /PHE8x = "0" : Enable P8x pull high /PHE8x = "1" : Disable P8x pull high
* 21
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Bit 3 ~ 0 ( /PHE63 ~ /PHE60 ) : bit 3 ~ 0 of Port 6 Pull high enable bit /PHE6x = "0" : Enable P6x pull high /PHE6x = "1" : Disable P6x pull high * PLC1 (Pull Low Control Register 1 ( Address : 0Bh )
Bit 7 Bit 6 Bit 5 /PLE81 Bit 4 /PLE80 Bit 3 /PLE63 Bit 2 /PLE62 Bit 1 /PLE61 Bit 0 /PLE60
Bit 5 ~ 4 ( /PLE81 ~ /PLE80 ) : bits 1, 0 of Port 8 Pull low enable bit /PLE8x = "0" : Enable P8x pull low /PLE8x = "1" : Disable P8x pull low Bit 3 ~ 0 ( /PLE63 ~ /PLE60 ) : bits 3 ~ 0 of Port 6 Pull low enable bit /PLE6x = "0" : Enable P6x pull low /PLE6x = "1" : Disable P6x pull low * PHC2 - Pull High Control Register 2 ( Address: 0Ch )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 /PHE73 Bit 2 /PHE72 Bit 1 /PHE71 Bit 0 /PHE70
Bit 3 ~ 0 ( /PHE73 ~ /PHE70 ) : bits 3 ~ 0 of Port 7 Pull high enable bit /PHE7x = "0" : Enable P7x pull high /PHE7x = "1" : Disable P7x pull high * PLC2 - Pull Low Control 2 ( Address: 0Dh )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 /PLE73 Bit 2 /PLE72 Bit 1 /PLE71 Bit 0 /PLE70
Bit 3 ~ 0 ( /PLE73 ~ /PLE70 ) : bits 3 ~ 0 of Port 7 Pull low enable bit /PLE7x = "0" : Enable P7x pull low /PLE7x = "1" : Disable P7x pull low * R10~R1F and R20~R3F (including Banks 0~3) are General Purpose Register
22 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.3 Special Purpose Registers
A (Accumulator) Internal data transfer, or instruction operand holding. It cannot be addressed. * CONT (Control Register)
Bit 7 WDTO Bit 6 /INT Bit 5 WDTP1 Bit 4 WDTP0 Bit 3 WDTE Bit 2 PSR2 Bit 1 PSR1 Bit 0 PSR0
CONT register is both readable and writable. Bit 7 ( WDTO ) : WDT output select WDTO = "0" : Interrupt request WDTO = "1" : Internal reset Bit 6 ( /INT ) : Interrupt enable flag /INT = "0" : masked by DISI or hardware interrupt /INT = "1" : enabled by ENI/RETI instructions Bit 5 ~ Bit 4 ( WDTP1 ~ WDTP0 ) : WDT prescaler bits.
WDTP1 0 0 1 1 WDTP0 0 1 0 1 Operating Mode 1:4 1:16 1:64 1:256
Bit 3 ( WDTE ) : WDT enable control. WDTE = "0" : Disable WDTE = "1" : Enable Bit 2 ( PSR2 ) ~ Bit 0 ( PSR0 ) : TCC prescaler bits.
PSR2 0 0 0 0 1 1 1 1 PSR1 0 0 1 1 0 0 1 1 PSR0 0 1 0 1 0 1 0 1 Operating Mode 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 23
EM78P809N
8-Bit Microcontroller * IOC6 ~ IOC9 - I/O Port Control Register "1" puts the relative I/O pin into high impedance, while "0" defines the relative I/O pin as output. IOC6 and IOC9 registers are both readable and writable. * INTCR - INT Control Register ( Address : 0Bh )
Bit 7 INT1NR Bit 6 INT0EN Bit 5 0 Bit 4 INT3ES1 Bit 3 INT3ES0 Bit 2 0 Bit 1 INT1ES Bit 0 TC2ES
Bit 7 ( INT1NR ) : INT1 noise reject time select INT1NR = "0" : Pulses less than 63/fc are eliminated as noise INT1NR = "1" : Pulses less than 15/fc are eliminated as noise Bit 6 ( INT0EN ) : INT0 enable control INT0EN = "0" : General I/O INT0EN = "1" : /INT0 pin Bit 5 : Reserved Bit 4 ~ Bit 3 ( INT3ES1 ~ INT3ES0) : INT3 edge select
INT3ES1 0 0 1 1 INT3ES0 0 1 0 1 Edge Select Rising Falling Both edge Reserved
Bit 2 : Reserved Bit 1 ( INT1ES ) : INT1 edge select INT1ES = "0" : Rising edge INT1ES = "1" : Falling edge Bit 0 (TC2ES) : Timer/Counter 2 edge select. TC2ES = "0" : Rising edge TC2ES = "1" : Falling edge
24 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller External Interrupt
INT Pin /INT0 INT1 INT3 /INT5 Secondary Function Pin P60 P61 P80, TC3 P73, /SLEEP Enable Condition ENI + INT0EN (IOCB) ENI + EXIE1 (IMR2) ENI + EXIE3 (IMR2) ENI + EXIE5 (IMR2) Edge Falling Rising or Falling Rising or Falling or Rising/Falling Digital Noise Reject 15/Fc, 63/Fc 7/Fc -
*
ADOSCR - AD Offset Control Register ( Address : 0Ch )
Bit 7 CALI Bit 6 SIGN Bit 5 VOF[2] Bit 4 VOF[1] Bit 3 VOF[0] Bit 2 0 Bit 1 0 Bit 0 0
Bit 7 (CALI) : Calibration enable bit for A/D offset CALI = "0" : Calibration disable CALI = "1" : Calibration enable Bit 6 ( SIGN ) : Polarity bit of offset voltage SIGN = "0" : Negative voltage SIGN = "1" : Positive voltage Bit 5 ~ Bit 3 ( VOF[2] ~ VOF[0] ) : Offset voltage bits * IMR1 - Interrupt Mask Register 1 ( Address : 0Eh )
Bit 7 EXIE5 Bit 6 TCIE2 Bit 5 ADIE Bit 4 0 Bit 3 EXIE3 Bit 2 TCIE4 Bit 1 SPIE Bit 0 TCIE3
Bit 7 ( EXIE5 ) : External/INT5 pin Interrupt enable bit. EXIE5 = "0" : disable EXIF5 interrupt EXIE5 = "1" : enable EXIF5 interrupt Bit 6 ( TCIE2 ) : Timer/Counter 2 Interrupt enable bit. TCIE2 = "0" : disable TCIF2 interrupt TCIE2 = "1" : enable TCIF2 interrupt Bit 5 ( ADIE ) : ADC complete interrupt enable bit. ADIE = "0" : disable ADIF interrupt ADIE = "1" : enable ADIF interrupt
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 25
EM78P809N
8-Bit Microcontroller Bit 3 ( EXIE3 ) : External INT3 pin Interrupt enable bit. EXIE3 = "0" : disable EXIF3 interrupt EXIE3 = "1" : enable EXIF3 interrupt Bit 2 ( TCIE4 ) : Timer/Counter 4 Interrupt enable bit. TCIE4 = "0" : disable TCIF4 interrupt TCIE4 = "1" : enable TCIF4 interrupt Bit 1 ( SPIE ) : SPI Interrupt enable bit. SPIE = "0" : disable SPIF interrupt SPIE = "1" : enable SPIF interrupt Bit 0 ( TCIE3 ) : Timer/Counter 3 Interrupt enable bit. TCIE3 = "0" : disable TCIF3 interrupt TCIE3 = "1" : enable TCIF3 interrupt Individual interrupt is enabled by setting its associated control bit in the IMR1 to "1". Global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction. IMR1 register is both readable and writable. * IMR2 - Interrupt Mask Register 2( Address: 0Fh )
Bit 7 0 Bit 6 UERRIE Bit 5 URIE Bit 4 UTIE Bit 3 TBIE Bit 2 EXIE1 Bit 1 0 Bit 0 TCIE0
Bit 6 ( UERRIE ) : UART receive error interrupt enable bit. UERRIE = "0" : disable UERRIF interrupt UERRIE = "1" : enable UERRIF interrupt Bit 5 ( URIE ) : UART receive mode interrupt enable bit. URIE = "0" : disable RBFF interrupt URIE = "1" : enable RBFF interrupt Bit 4 ( UTIE ) : UART transmit mode interrupt enable bit. UTIE = "0" : disable TBEF interrupt UTIE = "1" : enable TBEF interrupt
26 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Bit 3 ( TBIE ) : Time base timer interrupt enable bit. TBIE = "0" : disable TBIF interrupt TBIE = "1" : enable TBIF interrupt Bit 2 ( EXIE1 ) : External INT 1 Interrupt enable bit. EXIE1 = "0" : disable EXIF1 interrupt EXIE1 = "1" : enable EXIF1 interrupt Bit 0 ( TCIE0 ) : TCC Interrupt enable bit. TCIE0 = "0" : disable TCIF0 interrupt TCIE0 = "1" : enable TCIF0 interrupt Individual interrupt is enabled by setting its associated control bit in the IMR2 to "1". Global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction. IMR2 register is both readable and writable.
4.4 CPU Operation Mode
Registers for CPU operation mode
R_BANK
BANK 0
Address
0X05
NAME
SCR
Bit 7
0 --
Bit 6
PS2 R/W
Bit 5
PS1 R/W
Bit 4
PS0 R/W
Bit 3
0 --
Bit 2
1 --
Bit 1
SIS R/W
Bit 0
REM R/W
* R_BANK: Register Bank (bits 7, 6 of R3), R/W: Read/Write
Reset Occurs
SIS=0 + SLEP IDLE MODE CPU : Halts Fosc: Oscillates Interrupt NORMAL MODE CPU : Operating Fosc: Oscillates
SIS=1 + SLEP SLEEP MODE CPU : Halts Fosc: Stops /SLEEP Pin Input
Fig 5. Operation Mode and Switching
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 27
EM78P809N
8-Bit Microcontroller Table 2. Mode Switching Control
Mode Switch Normal Sleep Normal Idle Sleep Normal Idle Switch Method Set SIS = 1, execute SLEP instruction /SLEEP pin wake up Set SIS = 0, execute SLEP instruction Interrupt Note
Normal
Table 3. Operation Mode
Operation Mode Reset Signal Clock Normal Idle Sleep Turn off Turn on Frequency CPU Code Reset Fosc Halt On-chip Peripherals Reset Fosc Halt
In NORMAL mode, the CPU core and on-chip peripherals operate in oscillator frequency. In IDLE mode, the CPU core halts, but the on-chip peripheral and oscillator circuit remain active. IDLE mode is released to NORMAL mode by any interrupt source. If the ENI instruction is set, an interrupt will be serviced first followed by executing the next instruction which is after the IDLE mode is released and the interrupt service is finished. If the ENI instruction is not set, the next instruction will be executed which is after the IDLE mode start instruction. IDLE mode can also be released by setting the /RESET pin to low and executing a reset operation. In SLEEP mode, the internal oscillator is turned off and all system operation is halted. SLEEP mode is released by /SLEEP pin (level sensitive or edge sensitive can be set by System Control Register (SCR) bit 0 (REM)). After a warm-up period, the next instruction will be executed which is after the SLEEP mode start instruction. SLEEP mode can also be released by setting the /RESET pin to low and executing a reset operation. In level sensitive mode, the /SLEEP pin must be confirmed in low level before entering SLEEP mode. In edge sensitive mode, SLEEP mode is started even when the /SLEEP pin is in high level. Table 4. Wake-up Methods
SLEEP Mode Wake-up Signal 1. Individual interrupt source in IMR1, IMR2 2. WDT interrupt request 3. /INT0 4. ENI instruction is not executed No effect (**) R5 (SIS) = 1+SLEP Instruction IDLE Mode R5 (SIS)= 0 + SLEP Instruction 1. Wake-up 2. Jump to the next instruction or enter IDLE mode No effect (**) NORMAL Mode R5 (SIS)=(*)
28 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
SLEEP Mode Wake-up Signal R5 (SIS) = 1+SLEP Instruction
IDLE Mode R5 (SIS)= 0 + SLEP Instruction 1. Wake-up
NORMAL Mode R5 (SIS)=(*)
1. Individual interrupt source in IMR1, IMR2 2. WDT interrupt request 3. /INT0 4. Execute ENI instruction
No effect (**)
2. Jump to an Interrupt vector after RETI Interrupt instruction, then jump to the next instruction or enter IDLE mode
1. Wake-up /SLEEP pin 2. Jump to the next instruction or enter SLEEP mode Reset Reset No effect No effect
/RESET pin WDT time out
Reset Reset
Reset Reset
* Don't care ** Interrupt request flag will be recorded
4.5 AD Converter
Registers for AD Converter Circuit
R_BANK Address NAME
BANK 1 0X0B ADCR
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
ADP R/W ADE3 R/W ADD5 R TC2S R/W EXIF3 R/W
Bit 2
ADIS2 R/W ADE2 R/W ADD4 R 2 R/W TCIF4 R/W 0 -TCIE4 R/W
Bit 1
ADIS1 R/W ADE1 R/W ADD3 R 1 R/W SPIF R/W 0 -SPIE R/W
Bit 0
ADIS0 R/W ADE0 R/W ADD2 R 0 R/W TCIF3 R/W 0 -TCIE3 R/W
ADREF ADRUN ADCK1 ADCK0 R/W R/W ADE6 R/W ADD8 R ADD0 R TCIF2 R/W SIGN R/W TCIE2 R/W R/W ADE5 R/W ADD7 R 0 -ADIF R/W R/W ADE4 R/W ADD6 R TC2M R/W 0 0
BANK 1
0X0C
ADIC
ADE7 R/W
BANK 1
0X0D
ADDH
ADD9 R
BANK 1
0X08
ADDL
ADD1 R
TC2CK TC2CK TC2CK
BANK 0
0x0E
ISFR1
EXIF5 R/W
SPR
0x0C
ADOSCR
CALI R/W
VOF[2] VOF[1] VOF[0] R/W ADIE R/W R/W 0 0 R/W EXIE3 R/W
SPR
0x0E
IMR1
EXIE5 R/W
* R_BANK : Register Bank (bits 7, 6 of R3), R/W: Read / Write * SPR : Special Purpose Registers
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 29
EM78P809N
8-Bit Microcontroller
AD7 (P97) AD6 (P96)
VDD VREF
8 to 1 Analog switch
AD5 (P95) AD4 (P94)
ADC (Successive Approximation)
Power Down Start to Convert
AD3 (P93) AD2 (P92) AD1 (P91) AD0 (P90)
Fosc/4 Fosc/16 Fosc/32
4 to 1 MUX
7-0
ADIC
2
ADCR
1
0
5
ADCR
4
ISFR1
5
5
IMR1
9876543210
ADCR
6
3
7
DATA BUS
Fig. 6. AD Converter It is a 10-bit successive approximation type AD converter. The upper side of analog reference voltage can select either internal VDD or external input pin P97 (VREF) by setting the ADREF bit in ADCR. ADC Data Register: When the A/D conversion is complete, the result is loaded to the ADDH (8 bit) and ADDL (2 bit). The START/END bit is cleared, and the ADIF is set. A/D Sampling Time: The accuracy, linearity, and speed of the successive approximation A/D converter are dependent on the properties of the ADC. The source impedance and the internal sampling impedance directly affect the time required to charge the sample holding capacitor. The application program controls the length of the sample time to meet the specified accuracy. Generally speaking, the program should wait for 2 s for each K of the analog source impedance and at least 2 s for the low-impedance source. The maximum recommended impedance for the analog source is 10K at VDD =5V. After the analog input channel is selected, this acquisition time must be done before A/D conversion can be started. A/D Conversion Time: ADCK0 and ADCK1 select the conversion time (Tct), in terms of instruction cycles. This allows the MCU to run at maximum frequency without sacrificing accuracy of A/D conversion. For the EM78P809N, the conversion time per bit is about 4s. Table 5 shows the relationship between Tct and the maximum operating frequencies.
30 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Table 5
ADCK1:0 Operation Mode 00 01 10 11 Fc/4 Fc/16 Fc/32 Reserved Max. Frequency (Fc) 1MHz 4MHz 8MHz Max. Conversion Rate per Bit 250kHz (4s) 250kHz (4s) 250kHz (4s) Max. Conversion Rate 48us(20.8kHz) 48us(20.8kHz) 8us(20.8kHz) -
4.6 Time Base Timer and Keytone Generator
Registers for AD Converter Circuit
R_BANK Address NAME Bit 7
BANK 1 0X0E TBKTC TEN R/W BANK 0 0x0F ISFR2 0 0 SPR 0x0F IMR2 0 0
Bit 6
TCK1 R/W
Bit 5
TCK0 R/W
Bit 4
0 -TBEF R/W UTIE R/W
Bit 3
Bit 2
Bit 1
Bit 0
TBTEN TBTCK2 TBTCK1 TBTCK0 R/W TBIF R/W TBIE R/W R/W EXIF1 R/W EXIE1 R/W R/W 0 0 0 0 R/W TCIF0 R/W TCIE0 R/W
UERRIF RBFF R/W UERRIE R/W R/W URIE R/W
Output Latch Data Output
Output Enable (P63)
D
Q
/TONE Pin
13
Fosc/2
12
Fosc/2
11
Fosc/2
10
MUX
Fosc/2
TCK1:0
2
TEN
TBKTC
Fig. 7. TONE Output Pin Configuration Keytone output can generate 50% duty pulse for driving a piezo-electric buzzer. The P63 must be set to "1" before keytone enable and it can be halted by setting P63 to "0".
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 31
EM78P809N
8-Bit Microcontroller
P63
TEN
TONE Pin
Fig. 8. TONE Output Pin Timing Chart
23 21 16 14 13 12 11 9
Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2 Fosc/2
MUX
Falling Edge Detector TBT Interrupt
TBTEN TBTCK2:0 3 TBKTC
Fig. 9. TBT Configuration Time Base Timer is used to generate the base time for key scan or dynamic display processing. The interrupt is generated in the first falling edge of the source clock after TBTEN is set to "1".
Source Clock TBTEN TBT Interrupt
Fig. 10. Time Base Timer Timing Chart
32 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.7 UART (Universal Asynchronous Receiver/Transmitter)
Registers for UART Circuit
R_BANK Address NAME
BANK 2 0X05 URC1
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TXE R/W 0 -RXE R/W
URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE R/W R/W 0 -EVEN R/W R/W SBIM1 R/W PRE R/W URRD5 R R/W R/W R/W 0 -R 0 -URBF R
BANK 2
0X06
URC2
0 --
SBIM0 UINVEN R/W R/W
BANK 2
0X07
URS
URRD8 R/W
PRERR OVERR FMERR R/W R/W R/W
BANK 2
0X08
URRD URRD7 URRD6 R R
URRD4 URRD3 URRD2 URRD1 URRD0 R R R R R
BANK 2
0X09
URTD URTD 7 URTD 6 W W UERRIF R/W UERRIE R/W
URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0 W RBFF R/W URIE R/W W TBEF R/W UTIE R/W W TBIF R/W TBIE R/W W EXIF1 R/W EXIE1 R/W W 0 -0 -W TCIF0 R/W TCIE0 R/W
BANK 0
0x0F
ISFR2
0 --
SFR
0x0F
IMR2
0 --
TC4 Selector Baud rate generator
Fsystem
RXE
RX Control
Interrupt Control
TX Control
TXE
RX
RX shift register
Parity control
TX URTD8 URTD UINVEN
UINVEN
URRD8 URRD
Error flag Data Bus
Fig. 11. Function Block Diagram
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 33
EM78P809N
8-Bit Microcontroller In Universal Asynchronous Receiver Transmitter (UART), each transmitted or received character is individually synchronized by framing it with a start bit and stop bit. Full duplex data transfer is possible since the UART has independent transmit and receive sections. Double buffering for both sections allows the UART to be programmed for continuous data transfer. The figure below shows the general format of one character sent or received. The communication channel is normally held in the marked state (high). Character transmission or reception starts with a transition to the space state (low). The first bit transmitted or received is the start bit (low). It is followed by the data bits, in which the least significant bit (LSB) comes first. The data bits are followed by the parity bit. If present, then the stop bit or bits (high) confirm the end of the frame. In receiving, the UART synchronizes on the falling edge of the start bit. When two or three "0" are detected during three samples, it is recognized as normal start bit and the receiving operation is started.
START bit
D0
D1
D2
Dn
Parity STOP bit bit
Idle state (mark)
1 bit
7 or 8 bits One character or frame
1 bit
1 bits
Fig. 12. DATA Format in UART
4.7.1 UART MODE:
There are three UART modes. Mode 1 (7 bits data) and Mode 2 (8 bits data) allow the addition of a parity bit. The parity bit addition is not available in Mode 3. The Figure below shows the data format in each mode.
UMODE PRE 0 1
1
START
2
3
4
5
6
7
8
9
STOP
10
11
Mode 1
0 0
0 0
7 bits DATA 7 bits DATA
START
Parity
STOP
Mode 2
0 0
1 1
0 1
START
8 bits DATA 8 bits DATA
STOP
START
Parity STOP
Mode 3
1
0
X
START
9 bits DATA
STOP
Fig. 13. UART Mode
34 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.7.2 Transmitting:
In transmitting serial data, the UART operates as follows: 1. Set the TXE bit of the URC1 register to enable the UART transmission function. 2. Write data into the URTD register and the UTBE bit of the URC1 register will be set by hardware. 3. Then start transmitting. 4. Serially transmitted data are transmitted in the following order from the TX pin. 5. Start bit: one "0" bit is output. 6. Transmit data: 7, 8 or 9 bits data are output from the LSB to the MSB. 7. Parity bit: one parity bit (odd or even selectable) is output. 8. Stop bit: one "1" bit (stop bit) is output. Mark state: output "1" continues until the start bit of the next transmitted data. After transmitting the stop bit, the UART generates a TBEF interrupt (if enabled).
4.7.3 Receiving:
In receiving, the UART operates as follows: 1. Set RXE bit of the URS register to enable the UART receiving function. The UART monitors the RX pin and synchronizes internally when it detects a start bit. 2. 3. Receive data is shifted into the URRD register in the order from LSB to MSB. The parity bit and the stop bit are received. After one character received, the UART generates a RBFF interrupt (if enable). And URBF bit of URS register will be set to 1. 4. The UART makes the following checks: (a) Parity check: The number of 1 of the received data must match the even or odd parity setting of the EVEN bit in the URS register. (b) Frame check: The start bit must be 0 and the stop bit must be 1. (c) Overrun check: The URBF bit of the URS register must be cleared (that means the URRD register should be read out) before next received data is loaded into the URRD register. If any checks failed, the UERRIF interrupt will be generated (if enabled), and an error flag is indicated in PRERR, OVERR or FMERR bit. The error flag should be cleared by software else the UERRIF interrupt will occur when the next byte is received. 5. Read received data from URRD register. And URBF bit will be clear by hardware.
* 35
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.7.4
Baud Rate Generator:
The baud rate generator is comprised of a circuit that generates a clock pulse to determine the transfer speed for transmission/reception in the UART. The BRATE2~BRATE0 bits of the URC1 register can determine the desired baud rate.
4.8 SPI (Serial Peripheral Interface)
Registers for the SPI Circuit
R_BANK Address NAME
BANK 3 0X05 SPIC1
Bit 7
SMP R/W
Bit 6
DCOL R/W 0 -SPID6 R/W TCIF2 R/W TCIE2 R/W
Bit 5
BRS2 R/W 0 -SPID5 R/W ADIF R/W ADIE R/W
Bit 4
BRS1 R/W 0 -SPID4 R/W 0 -0 --
Bit 3
BRS0 R/W 0 -SPID3 R/W EXIF3 R/W EXIE3 R/W
Bit 2
EDS R/W SPIM1 R/W SPID2 R/W TCIF4 R/W TCIE4 R/W
Bit 1
DORD R/W SPIM0 R/W SPID1 R/W SPIF R/W SPIE R/W
Bit 0
WBE R RBF R SPID0 R/W TCIF3 R/W TCIE3 R/W
BANK 3
0X06
SPIC2
SPIS R/W
BANK 3
0X07
SPID
SPID7 R/W
BANK 0
0x0E
ISFR1
EXIF5 R/W
SFR
0x0E
IMR1
EXIE5 R/W
DCOL
RBFI
RBF
SE Clear Tx Empty Detector SHIFT Register SPID (8 bits)
Set to 1 Collision Detector Buffer Full Detector
reg TLS0~1 2
SDI DORD SMP SDO
Master/Slave EDS BRS2~0 3 /SS /SS enable Tsystem BRS2~0 3 Edge Select EDS SCK SE Edge Select
Prescaler 4, 16, 64, 256,1024 TC1/2
Fig. 14. SPI Block Diagram
36 * Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller The serial interface are connected to external devices via P70 (/SCK), P71 (SI), P72 (SO). The serial interface can also be used as I/O port. In the transmit mode, P71 can be used as normal I/O port and in receive mode, P72 and P71 can be used as normal I/O ports.
4.8.1 Serial Clock:
Six internal clocks can be selected by setting BRS0 ~ BRS2 and the clock output to the outside from /SCK (P70) pin. The External clock can also be used and connected to /SCK (P70) pin.
4.8.2 Shift Direction and Sample Phase:
Setting up the DORD bit of the SPIC1 register can determine the shift direction. Setting up the EDS bit of the SPIC1 register can select the rising edge or falling edge and latch the data. Setting up the SMP bit of the SPIC2 register can select the sample phase at the middle or at the end of the data output time.
4.8.3 Transfer Mode:
The transmit, receive, transmit/receive mode can be selected by setting SPIM0 ~ SPIM1. (a) 8-bit Transmit Mode: Set SPIM0 ~ SPIM12 to transmit mode and write data to the data buffer SPID. Set SPIS to "1" to start transmission. The data are output sequentially to the SO pin in synchronous with the serial clock. When the final bit of transfer data has been transferred, the SPI interrupt is generated and SPIS is cleared to "0" by hardware. In order to transmit the next data, the SPIS must be set to "1" again by software. If the next data is not written to the data buffer, the transfer is not started when using the internal clock.
Fig. 15. Transmit Mode (8-bit, 1 word)
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 37
EM78P809N
8-Bit Microcontroller (b) 8-bit Receive Mode:
Setting SPIM0 ~ SPIM1 to receive mode and setting SPIS to "1" to start receiving. The data are input sequentially from the SI pin in synchronous with the serial clock. When the final bit of transfer data has been received, the SPI interrupt is generated and SPIS is cleared to "0" by hardware. In order to receive the next data, the SPIS must be set to "1" again by software. If the current data is not read out from the data buffer, receiving is not started when using internal clock.
Fig. 16. Receive Mode (8-bit, 1 word) (c) 8-bit Transmit/Receive Mode: Set SPIM0 ~ SPIM1 to transmit/receive mode and write data to data buffer SPID. Set SPIS to "1" to start transferring. The data are output to the SO pin and input from the SI pin sequentially in synchronous with the serial clock. When the number of data words specified has been transferred, the SPI interrupt is generated and SPIS is cleared to "0" by hardware. In order to receive the next data, the SPIS must be set to "1" again by software. Writing data in transmit mode and reading data in receive mode use the same data buffer. If the current data is not read out from the data buffer and then write the data to data buffer, the transfer is not started when using internal clock. Always write the data to be transmitted after reading the received data.
38 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Fig. 17. Transmit/Receive Mode (8-bit, 1 word) (d) Multiple Device Connect (/SS): When selecting external clock for transfer clock source, the /SS function can be used. This pin (/SS) will be active when the /SS function is enabled, else the /SS pin is a general purpose I/O. Ignore the data on the SDI and SDO pins while /SS is high, since the SDO is no longer driven.
SDO SDI SCK /SS
Master
P.67 P67 P66 P 65 P65 P 64 P64
/SS SDO SCK SDI SDI
/SS SDO SCK SDI SDI
/SS SDO SCK SDI SDI
/SS SDO SCK SDI SDI
Slave Device 1
Slave Device 2
Slave Device 3
Slave Device 4
Fig. 18. The SPI Configuration Example of Single-Master and Multi-Slaves
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 39
EM78P809N
8-Bit Microcontroller
4.9 Timer/Counter 2
Registers for Timer/Counter 2 Circuit
R_BANK Address NAME
BANK 1 0X08 TC2CR
Bit 7
ADD1 R
Bit 6
ADD0 R
Bit 5
0 --
Bit 4
TC2M R/W
Bit 3
TC2S R/W
Bit 2
Bit 1
Bit 0
TC2CK2 TC2CK1 TC2CK0 R/W R/W R/W TC2D8 R/W TC2D0 R/W TCIF3 R/W TC2ES R/W TCIE3 R/W
BANK 1
0X09
TC2DH TC2D15 TC2D14 TC2D13 TC2D12 R/W R/W TC2D6 R/W TCIF2 R/W R/W TC2D5 R/W ADIF R/W 0 R/W TC2D4 R/W 0 --
TC2D11 TC2D10 TC2D9 R/W TC2D3 R/W EXIF3 R/W R/W TC2D2 R/W TCIF4 R/W 0 R/W TC2D1 R/W SPIF R/W INT1ES R/W TCIE4 R/W SPIE R/W
BANK 1
0X0A
TC2DL
TC2D7 R/W
BANK 0
0x0E
ISFR1
EXIF5 R/W
SFR
0x0B
INTCR
INT1NR INT0EN R/W R/W TCIE2 R/W
INT3ES1 INT3ES0 R/W R/W EXIE3 R/W
SFR
0x0E
IMR1
EXIE5 R/W
ADIE R/W
0 --
TC2ES TC2 Pin fc/2 13 fc/2 8 fc/2 3 fc/2 fc
23
M
Window MUX 16-bit Up-counter Clear
Comparator
TC2 Interrupt
TC2CK 3 TC2CR
TC2S TCR2H TCR2L
Fig 19. Configuration of Timer/Counter 2
40 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.9.1 Timer Mode:
In Timer mode, counting up is performed using the internal clock. When the contents of the up-counter matched with the TCR2 (TCR2H+TCR2L), then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared.
Fig. 20. Timer Mode Timing Chart
4.9.2 Counter Mode:
In Counter mode, counting up is performed using the external clock input pin (TC2 pin) and either rising or falling can be selected by setting TC2ES. When the contents of the up-counter matched with the TCR2 (TCR2H+TCR2L), then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared.
Fig. 21. Counter Mode Timing Chart (TC2ES = 1)
4.9.3 Window Mode
In Window mode, counting up is performed on the rising or falling edge of the pulse that is logical AND of an internal clock and the TC2 pin (window pulse). When the contents of the up-counter matched with the TCR2 (TCR2H+TCR2L), then interrupt is generated and the counter is cleared. The frequency (window pulse) must be slower than the selected internal clock. Writing to the TCR2L, the comparison is inhibited until TCR2H is written.
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 41
EM78P809N
8-Bit Microcontroller
Fig. 22. Window Mode Timing Chart
4.10 Timer/Counter 3
Registers for Timer/Counter 3 Circuit
R_BANK Address NAME
BANK 1 0X05
Bit 7
Bit 6
TC3S R/W
Bit 5
Bit 4
Bit 3
TC3M R/W
Bit 2
0 --
Bit 1
0 --
Bit 0
0 --
TC3CR TC3CAP R/W
TC3CK1 TC3CK0 R/W R/W
BANK 1
0X06
TC3DA TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0 R/W R/W R/W R/W R/W R/W R/W R/W
BANK 1
0X07
TC3DB TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0 R/W R/W TCIF2 R/W R/W ADIF R/W 0 -ADIE R/W R/W 0 -R/W EXIF3 R/W R/W TCIF4 R/W 0 -TCIE4 R/W R/W SPIF R/W INT1ES R/W SPIE R/W R/W TCIF3 R/W TC2ES R/W TCIE3 R/W
BANK 0
0x0E
ISFR1
EXIF5 R/W
SFR
0x0B
INTCR
INT1NR INT0EN R/W R/W TCIE2 R/W
INT3ES1 INT3ES0 R/W 0 -R/W EXIE3 R/W
SFR
0x0E
IMR1
EXIE5 R/W
42 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Rising Edge Detector Falling Inhibit Capture Control TC3 Interrupt
INT3ES
TC3M TC3 pin M MUX 8-bit Up-counter
fc/2 10 fc/2 7 fc/2
12
Overflow
TC3S TC3CK CAP 2 Capture Capture TC3CR TCR3B TCR3A Comparator
Fig. 23. Configuration of Timer/Counter3
4.10.1 Timer Mode:
In Timer mode, counting up is performed using the internal clock. When the contents of the up-counter matched with the TCR3DA, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. The current contents of the up-counter are loaded into the TCR3DB by setting TC3CAP to "1" and the TC3CAP is cleared to "0" after capture automatically.
4.10.2
Counter Mode:
In Counter mode, counting up is performed using the external clock input pin (TC3 pin) and either rising or falling edge can be selected by INT3ES0 but both edge cannot be used. When the contents of the up-counter matched with the TCR3DA, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared. The current contents of the up-counter are loaded into the TCR3DB by setting TC3CAP to "1" and the TC3CAP is cleared to "0" after capture automatically.
4.10.3
Capture mode:
In Capture mode, the pulse width, period and duty of the TC3 input pin are measured in this mode, which can be used in decoding the remote control signal. The counter is free running by the internal clock. On the rising (falling) edge of TC3 pin input, the contents of the counter is loaded into TCR3DA, then the counter is cleared and interrupt is generated. On the falling (rising) edge of TC3 pin input, the contents of the counter are loaded into TCR3DB. The counter is still counting, on the next rising edge of the TC3 pin input, the contents of the counter are loaded into TCR3A, counter is
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 43
EM78P809N
8-Bit Microcontroller cleared and interrupt is generated again. If an overflow before the edge is detected, the FFH is loaded into TCR3DA and an overflow interrupt is generated. During interrupt processing, it can be determined whether or not there is an overflow by checking whether the TCR3DA value is FFH. After an interrupt (capture to TCR3DA or overflow detection) is generated, capture and overflow detection are halted until TCR3DA is read out.
Source Clock Up-counter TC3 Pin Input TCR3DA TCR3DB TC3 Interrupt Reading TCR3DA
Capture K m Capture n FE Overflow FF (Overflow) K-2 K-1 K 0 1 m-1 m m+1 n-1 n 0 1 2 3 FE FF0 1 2 3
Fig. 24.Timing Chart of Capture Mode
4.11 Timer/Counter 4
Registers for Timer 4 Circuit
R_BANK Address NAME
BANK 0 0X0B TC4CR
Bit 7
Bit 6
Bit 5
TC4S R/W TC4D5 R/W
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TC4M0 R/W TC4D0 R/W
TC4FF1 TC4FF0 R/W R/W TC4D6 R/W
TC4CK2 TC4CK1 TC4CK0 TC4M1 R/W TC4D4 R/W R/W TC4D3 R/W R/W TC4D2 R/W R/W TC4D1 R/W
BANK 0
0X0C
TC4D
TC4D7 R/W
BANK 0
0x0E
ISFR1
EXIF5
R/W
TCIF2
R/W TCIE2 R/W
ADIF
R/W ADIE R/W
0
-0 --
EXIF3
R/W EXIE3 R/W
TCIF4
R/W TCIE4 R/W
SPIF
R/W SPIE R/W
TCIF3
R/W TCIE3 R/W
SFR
0x0E
IMR1
EXIE5 R/W
44 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
TC4M (1,1)
TC4FF
TC4 Interrupt
fc/2 7 fc/2 3 fc/2 TC4 pin
11
Clear MUX 8-bit Up-counter
TC4M(1,*)
F/F Clear Set Q Toggle
/PWM, /PDO Pin
Overflow Match
Comparator
TC4CK
3 TC4S TC4CR TCR4
Fig. 25. Timer/Counter 4 Configuration
4.11.1 Timer Mode
In Timer mode, counting up is performed using the internal clock. When the contents of the up-counter matched with the TCR4, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared.
4.11.2 Counter Mode
In Counter mode, counting up is performed on the rising edge of the external clock input pin (TC4 pin). When the contents of the up-counter matched with the TCR4, then interrupt is generated and the counter is cleared. Counting up resumes after the counter is cleared.
4.11.3 PDO Mode
In Programmable Divider Output (PDO) mode, counting up is performed using the internal clock. The contents of TCR4 are compared with the contents of the up-counter. The F/F output is toggled and the counter is cleared each time a match is found. The F/F output is inverted and output to /PDO pin. This mode can generate 50% duty pulse output. The F/F can be initialized by the program and it is initialized to "0" during a reset. A TC4 interrupt is generated each time the /PDO output is toggled.
Source Clock Up-counter TCR4 F/F /PDO Pin TC4 Interrupt
Fig. 26.Timing Chart for PDO Mode
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
0 1 2 3 n-1 n 0 1 n-1 n 0 1 n-1 n 0 1 2
n
* 45
EM78P809N
8-Bit Microcontroller
4.11.4 PWM Mode
In Pulse Width Modulation (PWM) Output mode, counting up is performed using the internal clock. The contents of the TCR4 are compared with the contents of the up-counter. The F/F is toggled when match is found. The counter is still counting, the F/F is toggled again when the counter overflows, then the counter is cleared. The F/F output is inverted and output to the /PWM pin. A TC4 interrupt is generated each time an overflow occurs. TCR4 is configured as a 2-stage shift register and, during output, will not switch until one output cycle is completed even if TCR4 is overwritten. Therefore, the output can be changed continuously. TRC4 is also shifted the first time by setting TC4S to "1" after data is loaded to TCR4.
Source Clock Up-counter TCR4 F/F /PWM TC4 Interrupt
1 Period
0 1 n-1 n n+1 n+2 FE FF 0 n-1 n n+1 n+2 FE FF 0 1 m-1 m
n/n
n/m
m/m
Match
Overflow
Match Overwrite
Overflow
Shift
Fig. 27.Timing Chart for PWM Mode
4.12 TCC/WDT & Prescaler
An 8-bit counter is available as prescaler for the TCC. The PSR0~PSR2 bits determine the ratio. The prescaler is cleared each time the instruction is written to TCC under TCC mode. R1 (TCC) is an 8-bit timer/counter. The clock source of TCC is the internal clock. If the TCC signal source is from the internal clock, TCC will increase by 1 at every instruction cycle (without prescaler). CLK=Fosc/2 or CLK=Fosc/4 selection is determined by the CODE Option bit CLK status. CLK=Fosc/2 is used if CLK bit is "0", and CLK=Fosc/4 is used if CLK bit is "1". The watchdog timer is a free running on-chip RC oscillator. During normal operation mode, a WDT time-out (if enabled) will cause the device to reset or interrupt by setting WDTO. The WDT can be enabled or disabled any time during normal mode by software programming. Without prescaler, the WDT time-out period is approximately 18 ms (default). The WDT can also be used as a timer to generate an interrupt at fixed interval.
46 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.13 I/O Ports
The I/O registers, Port 6, Port 7, Port 8, and Port 9 are bi-directional tri-state I/O ports. Each I/O pin can be defined as "input" or "output" pin by the I/O control register (IOC6 ~ IOC9). The I/O registers and I/O control registers are both readable and writable. The I/O interface circuits for Port 6, Port 7, Port 8, and Port 9 are shown in Fig. 27.
PCRD
Q Q
P R C L
D CLK
PCW R
PORT
Q Q
P R
IOD
D
C CLK L
PDW R
0 1
M U X
PDRD
Fig. 28.The I/O Port and I/O Control Register Circuit
4.14 RESET and Wake-up
4.14.1 RESET
A RESET is initiated by one of the following events: (1) Power-on reset (2) /RESET pin input "low" (3) WDT timeout. (if enabled) The device is kept in a RESET condition for a period of approx. 18ms1 (one oscillator start-up timer period) after the reset is detected. Once a RESET occurs, the following functions are performed. The oscillator starts or is running The Program Counter (R2) is reset to all "0". When power is switched on, the upper 2 bits of R3, the upper 2 bits of R4 and the bits 6 ~ 4 of R5 are cleared. All I/O port pins are configured as input mode (high-impedance state).
1
NOTE: VDD = 5V, set up time period = 16.2ms 30% VDD = 3V, set up time period = 19.6ms 30%
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 47
EM78P809N
8-Bit Microcontroller The Watchdog timer and prescaler are cleared. Upon power on, the upper 2 bits of R3 are cleared. Upon power on, the upper 2 bits of R4 are cleared. Upon power on, the upper 3 bits of R5 are cleared. The bits of CONT register are set to all "1" except bit 6 (INT flag). ISFR0, ISFR1, ISFR2 register and IMR1, IMR2 registers are cleared. The controller has two modes for power saving. (1) SLEEP mode: R5 (SIS) = 1, SLEP instruction. The internal oscillator is turned off and all system operation is halted. (2) IDLE mode: R5 (SIS)= 0, SLEP instruction The CPU core halts but the on-chip peripheral and oscillator circuit remain active.
4.14.2 Wake-up from SLEEP Mode:
(1) External /SLEEP pin The controller will be waken up and execute the next instruction after entering SLEEP mode. All the registers will maintain their original values before "SLEP" instruction was executed. (2) /RESET pin pull low This will reset the controller and starts the program at address zero. (3) WDT time out This will reset the controller and run the program at address zero.
4.14.3 Wake-up from IDLE mode:
(1) All interrupt In all these cases, user should always enable the circuit before entering IDLE mode. After wake-up, all registers will maintain their original values before entering "SLEP" instruction, then service an interrupt subroutine or proceed with next instruction by setting individual interrupt enable bit. After servicing an interrupt sub-routine ("RETI" instruction), the program will jump from "SLEP" instruction to the next instruction. (2) /RESET pin pull low This will reset the controller and run the program at address zero. (3) WDT time out This will reset the controller and run the program at address zero.
48 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Table 6. Summary of the Initialized Values for Registers
Address Name Bit Name 0x06 IOC6 Power-On /RESET and WDT time out Reset Type Bit 7 C67 1 1 Bit 6 C66 1 1 Bit 5 C65 1 1 Bit 4 C64 1 1 Bit 3 C63 1 1 P C73 1 1 P X U U U C93 1 1 P Bit 2 C62 1 1 Bit 1 C61 1 1 Bit 0 C60 1 1
0x07
IOC7
0x08
IOC8
0x09
IOC9
0x0B
INTCR
0x0C
ADOSC R
0x0E
IMR1
0x0F
IMR2
N/A
CONT
Wake-Up from SLEEP, IDLE mode P P P P Bit Name X X X X Power-on U U U U /RESET and WDT time out U U U U Wake-Up from SLEEP, IDLE mode U U U U Bit Name X X X X Power-on U U U U /RESET and WDT time out U U U U Wake-Up from SLEEP, IDLE mode U U U U Bit Name C97 C96 C95 C94 Power-On 1 1 1 1 /RESET and WDT time out 1 1 1 1 Wake-Up from SLEEP, IDLE mode P P P P Bit Name INT1NR INT0EN X INT3ES1 Power-On 0 0 0 0 /RESET and WDT time out 0 0 0 0 Wake-Up from SLEEP, IDLE mode P P P P Bit Name CALI SIGN VOF2 VOF1 Power-on 0 0 0 0 /RESET and WDT time out 0 P P P Wake-Up from SLEEP, IDLE mode 0 P P P Bit Name EXIE5 TCIE2 ADIE X Power-on 0 0 0 U /RESET and WDT time out 0 0 0 U Wake-Up from SLEEP, IDLE mode P P P U Bit Name X UTIE UERRIE URIE Power-on U 0 0 0 /RESET and WDT time out U 0 0 0 Wake-Up from SLEEP, IDLE mode U P P P Bit Name WDT0 /INT WDTP1 WDTP0 Power-on 0 0 0 0 /RESET and WDT time out 0 0 0 0 Wake-Up from SLEEP, IDLE mode P P P P Bit Name U P P 0 0 P 0 0 U P P 0 0 P 0 0 U P P 0 0 P 0 0 U P P 0 0 P 0 0
P P P C72 C71 C70 1 1 1 1 1 1 P P P X C81 C80 U 1 1 U 1 1 U P P C92 C91 C90 1 1 1 1 1 1 P P P X INT1ES TC2ES INT3ES0 0 0 0 0 0 0 0 0 P P P P VOF0 X X X 0 U U U P U U U P U U U EXIE3 TCIE4 SPIE TCIE3 0 0 0 0 0 0 0 0 P P P P TBIE EXIE1 X TCIE0 0 0 U 0 0 0 U 0 P P U P WDTE PSR2 PSR1 PSR0 0 0 0 0 0 0 0 0 P P P P U P P 0 0 P 0 0 U P P 0 0 P 0 0 U P P 0 0 P 0 0 U P P 0 0 P 0 0 C U P P RSR0 U P P
0x00
Power-on R0 (IAR) /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-on R1 (TCC) /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name R2 (PC) Power-on /RESET and WDT time out
0x01
0x02
0x03
0x04
Wake-Up from SLEEP, IDLE mode Jump to interrupt vector or execute next instruction Bit Name RBS1 RBS0 X T P Z DC R3 Power-on 0 0 0 1 1 U U (SR) /RESET and WDT time out 0 0 0 t t P P Wake-Up from SLEEP, IDLE mode P P P t t P P Bit Name GRBS1 GRBS0 RSR5 RSR4 RSR3 RSR2 RSR1 R4 Power-On 0 0 U U U U U (RSR) /RESET and WDT time out 0 0 P P P P P Wake-Up from SLEEP, IDLE mode P P P P P P P
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 49
EM78P809N
8-Bit Microcontroller Register Bank 0
Address Name Bit Name 0x05 SCR Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x06 PORT6 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x07 PORT7 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x08 PORT8 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x09 PORT9 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x0B TC4CR Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x0C TC4D Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0X0D ISFR0 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0X0E ISFR1 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0X0F ISFR2 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Reset Type Bit 7 X U U U P67 1 1 P X U U U X U U U P97 1 1 P Bit 6 PS2 0 0 P P66 1 1 P X U U U X U U U P96 1 1 P Bit 5 PS1 0 0 P P65 1 1 P X U U U X U U U P95 1 1 P TC4S 0 0 P 0 0 P INT3F 0 0 P ADIF 0 0 P RBFF 0 0 P Bit 4 PS0 0 0 P P64 1 1 P X U U U X U U U P94 1 1 P Bit 3 X U U U P63 1 1 P P73 1 1 P X U U U P93 1 1 P Bit 2 X U U U P62 1 1 P P72 1 1 P X U U U P92 1 1 P Bit 1 SIS 0 0 P P61 1 1 P P71 1 1 P P81 1 1 P P91 1 1 P Bit 0 REM 0 0 P P60 1 1 P P70 1 1 P P80 1 1 P P90 1 1 P TC4M0 0 0 P 0 0 P EXIF0 0 0 P TCIF3 0 0 P TCIF0 0 0 P
TC4FF1 TC4FF0 0 0 P 0 0 P X U U U EXIF5 0 0 U X U U U 0 0 P 0 0 P X U U U TCIF2 0 0 P UERRIF 0 0 P
TC4CK2 TC4CK1 TC4CK0 TC4M1 0 0 P 0 0 P INT3R 0 0 P X U U U TBEF 0 0 P 0 0 P 0 0 P X U U U EXIF3 0 0 P TBIF 0 0 P 0 0 P 0 0 P X U U U TCIF4 0 0 P EXIF1 0 0 P 0 0 P 0 0 P WDTIF 0 0 P SPIF 0 0 P X U U U
TC4D7 TC4D6 TC4D5 TC4D4 TC4D3 TC4D2 TC4D1 TC4D0
50 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Register Bank 1
Address Name Bit Name 0x05 TC3CR Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x06 TC3DA Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x07 TC3DB Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode TC2CR 0x08 / ADDL Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x09 TC2DH Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x0A TC2DL Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x0B ADCR Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x0C ADIC Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0X0D ADDH Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0X0E TBKTC Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Reset Type Bit 7 TC3CAP 0 0 P 0 0 P 0 0 P ADD1 U P P 0 0 P 0 0 P 0 0 P ADE7 0 0 P ADD9 U P P TEN 0 0 0 Bit 6 TC3S 0 0 P 0 0 P 0 0 P ADD0 U P P 0 0 P 0 0 P 0 0 (*) ADE6 0 0 P ADD8 U P P TCK1 0 0 P Bit 5 0 0 P 0 0 P 0 0 P X U U U 0 0 P 0 0 P 0 0 P ADE5 0 0 P ADD7 U P P TCK0 0 0 P Bit 4 0 0 P 0 0 P 0 0 P TC2M 0 0 P 0 0 P 0 0 P 0 0 P ADE4 0 0 P ADD6 U P P X 0 0 P Bit 3 0 0 P 0 0 P 0 0 P TC2S 0 0 0 0 0 P 0 0 P ADP 1 1 P ADE3 0 0 P ADD5 U P P 0 0 0 Bit 2 X U U U 0 0 P 0 0 P 0 0 P 0 0 P 0 0 P ADIS2 0 0 P ADE2 0 0 P ADD4 U P P 0 0 P Bit 1 X U U U 0 0 P 0 0 P 0 0 P 0 0 P 0 0 P ADIS1 0 0 P ADE1 0 0 P ADD3 U P P 0 0 P Bit 0 X U U U 0 0 P 0 0 P 0 0 P 0 0 P 0 0 P ADIS0 0 0 P ADE0 0 0 P ADD2 U P P 0 0 P TC3CK1 TC3CK0 TC3M
TC3DA7 TC3DA6 TC3DA5 TC3DA4 TC3DA3 TC3DA2 TC3DA1 TC3DA0
TC3DB7 TC3DB6 TC3DB5 TC3DB4 TC3DB3 TC3DB2 TC3DB1 TC3DB0
TC2CK2 TC2CK1 TC2CK0
TC2D15 TC2D14 TC2D13 TC2D12 TC2D11 TC2D10 TC2D9 TC2D8
TC2D7 TC2D6 TC2D5 TC2D4 TC2D3 TC2D2 TC2D1 TC2D0
ADREF ADRUN ADCK1 ADCK0
TBTEN TBTCK2 TBTCK1 TBTCK0
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 51
EM78P809N
8-Bit Microcontroller Register Bank 2
Address Name Bit Name 0x05 URC1 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x06 URC2 Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x07 URS Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x08 URRD Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name 0x09 URTD Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Reset Type Bit 7 U P P X U U U U P P U P P U P P Bit 6 0 P 0 X U U U 0 P P U P P U P P Bit 5 0 P P SBIM1 0 P P PRE 0 P P U P P U P P Bit 4 0 P P 0 P P 0 0 P U P P U P P Bit 3 0 P P 0 P P 0 0 P U P P U P P Bit 2 0 P P X U U U 0 0 P U P P U P P Bit 1 0 0 P X U U U 0 0 P U P P U P P Bit 0 TXE 0 0 0 X U U U RXE 0 0 0 U P P U P P URTD8 UMODE1 UMODE0 BRATE2 BRATE1 BRATE0 UTBE
SBIM0 UINVEN
URRD8 EVEN
PRERR OVERR FMERR URBF
URRD7 URRD6 URRD5 URRD4 URRD3 URRD2 URRD1 URRD0
URTD 7 URTD 6 URTD 5 URTD 4 URTD 3 URTD 2 URTD 1 URTD0
Register Bank 3
Address Name 0x05 SPIC1 Reset Type Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 WBE 0 0 P RBF 0 0 P SPID10 U P P /PHE60 1 1 P /PLE60 1 1 P /PHE70 1 1 P /PLE70 1 1 P SMP DCOL BRS2 BRS1 BRS0 EDS DORD 0 0 0 0 0 0 0 P P P P P P P P P P P P P P SPIS X X X X SPIM1 SPIM0 0 0 0 0 0 0 0 0 0 0 0 0 P P 0 P P P P P P SPID17 SPID16 SPID15 SPID14 SPID13 SPID12 SPID11 U U U U U U U P P P P P P P P P P P P P P X X /PHE81 /PHE80 /PHE63 /PHE62 /PHE61 U U 1 1 1 1 1 U U 1 1 1 1 1 U U P P P P P X X /PLE81 /PLE80 /PLE63 /PLE62 /PLE61 U U 1 1 1 1 1 U U 1 1 1 1 1 U U P P P P P X X X X /PHE73 /PHE72 /PHE71 U U U U 1 1 1 U U U U 1 1 1 U U U U P P P X X X X /PLE73 /PLE72 /PLE71 U U U U U U U U U U U U 1 1 P 1 1 P 1 1 P
0x06
SPIC2
0x07
SPID1
0x0A
PHC1
0x0B
PLC2
0x0C
PHC2
0x0D
PLC2
52 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller General Purpose Registers
Address Name 0x10 ~ 0x3F R10 ~ R3F Bit Name Power-On /RESET and WDT time out Wake-Up from SLEEP, IDLE mode Reset Type Bit 7 U P P Bit 6 U P P Bit 5 U P P Bit 4 U P P Bit 3 U P P Bit 2 U P P Bit 1 U P P Bit 0 U P P
X: Not used. U: Unknown or don't care. P: Previous value before reset. t: Check Table 7 (*) 0: Wake-Up from SLEEP P: Wake-Up from IDLE
4.14.4
The Status of RST, T, and P of STATUS Register
The values of T and P are used to verify the event that triggered the processor to wake up. Table 7 shows the events that may affect the status of T and P. Table 7. The Values of RST, T and P after RESET
Reset Type Power on /RESET during Operation mode /RESET wake-up during SLEEP mode /RESET wake-up during IDLE mode WDT during Operation mode WDT wake-up during SLEEP mode WDT wake-up during IDLE mode T 1 *P *P *P 0 0 0 P 1 *P *P *P *P *P *P
*P: Previous status before reset Table 8 The Events that may Affect the T and P Status
Event Power on WDTC instruction WDT time-out SLEP instruction Wake-Up during SLEEP mode T 1 1 0 1 *P P 1 1 *P 0 *P
*P: Previous value before reset
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 53
EM78P809N
8-Bit Microcontroller
VDD
Oscillator
D CLK CLR
Q
CLK
Power-on Reset
Voltage Detector
WDTE
WDT
WDT Timeout
Setup Time
RESET
/RESET
Fig. 29.Controller Reset Block Diagram
4.15 Interrupt
The EM78P809N has 15 interrupts (9 external, 6 internal) listed below: Table 9.. Interrupt Vector
Interrupt Source Internal / External Internal External Internal External Internal Internal Internal Internal Internal Internal Internal External Internal Internal External Reset WDT INT0 TCC INT1 TBT UART Transmit UART Receive UART Receive error TC3 SPI TC4 INT3 AD TC2 INT5 Enable Condition WDTEN ENI + INT0EN=1 ENI + TCIE0=1 ENI + EXIE1=1 ENI + TBIE=1 ENI + UTIE=1 ENI + URIE=1 ENI+UERRIE=1 ENI + TCIE3=1 ENI + SPIE=1 ENI + TCIE4=1 ENI + EXIE3=1 ENI + ADIE=1 ENI + TCIE2=1 ENI + EXIE5=1 Int. Flag WDTIF EXIEF0 TCIF0 EXIF1 TBIF TBEF TBFF UERRIF TCIF3 SPIF TCIF4 EXIF3 ADIF TCIF2 EXIF5 Int. Vector Priority 0000 0003 0006 0009 000F 0012 0015 0018 001B 0021 0024 0027 002A 0030 0033 0036 High 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Low 15
ISFR0, ISFR1 and ISFR2 are the interrupt status registers that record the interrupt requests in the relative flags/bits. IMR1 and IMR2 are the interrupt mask registers. The global interrupt is enabled by the ENI instruction and is disabled by the DISI instruction.
54 * Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller When one of the interrupts (enabled) occurs, the next instruction will be fetched from individual address. The interrupt flag bit must be cleared by instructions before leaving the interrupt service routine and before interrupts are enabled to avoid recursive interrupts. The flag (except ICIF bit) in the Interrupt Status Register (ISFR 2) is set regardless of the status of its mask bit or the execution of ENI. The RETI instruction ends the interrupt routine and enables the global interrupt (the execution of ENI).
4.16 Oscillator
4.16.1 Oscillator Modes
The EM78P809N can operate in two different oscillator modes, i.e., Crystal oscillator mode and External RC oscillator mode (ERC) oscillator mode. User can select which mode by Code Option Register. The maximum limit for operational frequencies of the crystal/resonator under different VDDs is listed below. Table 10 Oscillator Modes Defined by SDCS and OSC
Mode Single Clock OSC 1 0 Oscillator High frequency oscillator ERC
Table 11 The Summary of Maximum Operating Speeds
Condition High frequency oscillator VDD 3.0 5.0 Max. Fxt. (MHz) 4.0 10.0
4.16.2
Crystal Oscillator/Ceramic Resonators (Crystal)
EM78P809N has a clock generator. i.e. Fc (high frequency) which can be driven by an external clock signal through the OSCI pin. In most applications, Pin OSCI and Pin OSCO can be connected with a crystal or ceramic resonator to generate oscillation. Table 12 provides the recommended values of C1 and C2. Since each resonator has its own attribute, user should refer to its specification for appropriate values of C1 and C2. A serial resistor Rs may be necessary for AT strip cut crystal.
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 55
EM78P809N
8-Bit Microcontroller
OSCI OSCO EM78P809N
Ext. Clock
Fig. 30. Crystal/Resonator Circuit
C1 OSCI XTAL
EM78P809N OSCO
RS
C2
Fig. 31. Crystal/Resonator Circuit Table12. Capacitor Selection Guide for Crystal Oscillator or Ceramic Resonator
Oscillator Type Ceramic Resonator Frequency Mode HXT Frequency 2.0 MHz 4.0 MHz 1.0MHz Crystal Oscillator HXT 2.0MHz 4.0MHz C1 (pF) 20~40 10~30 15~30 15 15 C2 (pF) 20~40 10~30 15~30 15 15
33 0 OSCI 740 4 EM78P809N XTAL 740 4 C
33 0
740 4
Fig. 32. Crystal/Resonator-Series Mode Circuit
56 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
4.7 K OSCI 10 K
Vdd
740 4
EM78P809N
10 K
740 4
XTAL C1 C2
Fig. 33. Crystal/Resonator-Parallel Mode Circuit
4.16.3
External RC Oscillator Mode
For applications that do not need very precise timing calculation, the RC oscillator offers a lot of cost savings. Nevertheless, it should be noted that the frequency of the RC oscillator is influenced by the supply voltage, the values of the resistor (Rext), the capacitor (Cext), and even by the operation temperature. Moreover, the frequency also varies slightly from one chip to another due to the manufacturing process variation. In order to maintain a stable system frequency, the values of the Cext should not be less than 20pF, and the value of Rext should not be greater than 1 M, otherwise, the frequency is easily affected by noise, humidity, and leakage. The smaller the Rext in the RC oscillator, the faster its frequency will be. On the contrary, for very low Rext values, for instance, 1 K, the oscillator becomes unstable because the NMOS cannot correctly discharge the current of the capacitance. Hence, it must be noted that the supply voltage, the operation temperature, the RC oscillator components, the package types, and the PCB layout, will affect the system frequency.
Vdd Rext
OSCI EM78P809N
Cext
Fig. 34. External RC Oscillator Mode Circuit
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 57
EM78P809N
8-Bit Microcontroller Table13. RC Oscillator Frequencies
Cext Rext 3.3k 20 pF 5.1k 10k 100k 3.3k 100 pF 5.1k 10k 100k 3.3k 300 pF 5.1k 10k 100k Average Fosc 5V, 25C Average Fosc 3V, 25C 4.32 MHz 2.83 MHz 1.62 MHz 184kHz 1.39 MHz 950kHz 500kHz 54kHz 580kHz 390kHz 200kHz 21kHz 3.56 MHz 2.8 MHz 1.57 MHz 187kHz 1.35 MHz 930kHz 490kHz 55kHz 550kHz 380kHz 200kHz 21kHz
Note: 1. Measured on DIP packages. 2. For design reference only.
4.17 Code Option Register
The EM78P809N has one CODE option word that is not part of the normal program memory. The option bits cannot be accessed during normal program execution. Code Option Register and Customer ID Register arrangement distribution:
Word 0 Bit 12~Bit 0 Word 1 Bit 12~Bit 0 Word 2 Bit 12~Bit 0
4.17.1 Code Option Register (Word 0)
Word 0 Bit 12 ~ 9 Bit 8 CLKS Bit 7 ENWDTB Bit 6 CYES Bit 5 Bit 4 OSC Bit 3 HLP Bit 2 PR2 Bit 1 PR1 Bit 0 PR0
Bit 12 ~ 9 : Not used Bit 8 (CLKS) : Instruction period option bit. CLKS = "0" : two oscillator periods. CLKS = "1" : four oscillator periods. Refer to the Instruction Set section. Bit 7 (ENWDTB) : Watchdog timer enable bit. ENWDTB = "0" : Enable ENWDTB = "1" : Disable
58 * Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller Bit 6 (CYES) : Cycle selection for JMP, CALL instruction CYES = "0" : One cycle CYES = "1" : Two cycles Bit 4 (OSC) : Oscillator type selection. OSC = "0" : RC type OSC = "1" : Crystal type Bit 3 (HLP) : Power selection. HLP = "0" : Low power HLP = "1" : High power Bit 2~0 (PR2~PR0) : Protect Bit PR2~PR0 are write-protect bits, configured as follows:
PR2 PR1 Others 1 1 1 PR0 Protect Enable Disable
4.17.2 Customer ID Register
Word 1 Bit 12~Bit 0 XXXXXXXXXXXXX
Word 2 Bit 12~Bit 0 XXXXXXXXXXXXX
Bits 12 ~ 0: Customer's ID code
4.18 Power-on Considerations
Any microcontroller is not guaranteed to start and operate properly before the power supply maintains at its steady state. The EM78P809N has a built-in Power On Voltage Detector (POVD) with a detecting level of 2.1V. It will work well if VDD rises fast enough (10 ms or less). In many critical applications, however, additional components are required to provide solutions on probable power-up problems.
4.18.1 External Power-on Reset Circuit
The circuit shown in Fig. 34 use an external RC to produce the reset pulse. The pulse width (time constant) should be kept long enough for VDD to reach minimum operation voltage. This circuit is used when the power supply has slow rise time. Because the
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 59
EM78P809N
8-Bit Microcontroller current leakage from the /RESET pin is about 5A, it is recommended that R should not be greater than 40K. In this way, the /RESET pin voltage is held below 0.2V. The diode (D) acts as a short circuit at the moment of power down. The capacitor C will discharge rapidly and fully. Rin, the current-limited resistor, will prevent high current or ESD (electrostatic discharge) from flowing to pin /RESET.
Vdd /RESET EM78P809N Rin C R D
Fig. 35. External Power-Up Reset Circuit
4.18.2 Residue-Voltage Protection
When battery is replaced, device power (VDD) is taken off but residue-voltage remains. The residue-voltage may trip below VDD minimum, but not to zero. This condition may cause a poor power-on reset. Fig.35 and Fig.36 show how to build the residue-voltage protection circuit.
Vdd EM78P809N Q1 /RESET 40K 1N4684 33K 10K Vdd
Fig. 36. Residue Voltage Protection Circuit 1
60 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Vdd R1 EM78P809N /RESET 40K R2 Q1
Vdd
Fig 37. Residue Voltage Protection Circuit 2
4.19 Instruction Set
Each instruction in the instruction set is a 13-bit word divided into an OP code and one or more operands. Normally, all instructions are executed within one single instruction cycle (one instruction consists of 2 oscillator periods), unless the program counter is changed by instruction "MOV R2,A", "ADD R2,A", or by instructions of arithmetic or logic operation on R2 (e.g. "SUB R2,A", "BS(C) R2,6", "CLR R2", ). In this case, the execution takes two instruction cycles. In case the instruction cycle specification is not suitable for certain applications, try to modify the instruction as follows: (A) Change one instruction cycle to consist of 4 oscillator periods. (B) The following commands are executed within two instruction cycles; "JMP", "CALL", "RET", "RETL", "RETI", including the conditional skip ("JBS", "JBC", "JZ", "JZA", "DJZ", "DJZA") instructions. In addition, instructions that are written to the program counter are executed within two instruction cycles. Case (A) is selected by the CODE Option bit, called CLK. One instruction cycle consists of two oscillator clocks if CLK is low, and four oscillator clocks if CLK is high. Note that once the 4 oscillator periods within one instruction cycle is selected as in Case (A), the internal clock source to TCC should be CLK=Fosc/4, not Fosc/2. Furthermore, the instruction set has the following features: (1) Every bit of any register can be set, cleared, or tested directly. (2) The I/O register can be regarded as general register. That is, the same instruction can operate on I/O register. The symbol "R" represents a register designator that specifies which one of the registers (including operational registers and general purpose registers) is to be utilized by the instruction. "b" represents a bit field designator that selects the value for the bit which is located in the register "R", and affects the operation. "k" represents an 8 or 10-bit constant or literal value.
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 61
EM78P809N
8-Bit Microcontroller
Binary Instruction 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 62 * 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0001 0001 0001 0010 0010 0010 0010 0011 0011 0011 0011 0100 0100 0100 0100 0101 0101 0101 0101 0110 0110 0110 0110 0111 0111 0111 0111 100b 101b 110b 111b 00kk 01kk 0000 0000 0000 0000 0000 0000 0001 0001 0001 0001 0001 0001 01rr 1000 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr 00rr 01rr 10rr 11rr bbrr bbrr bbrr bbrr 0000 0001 0010 0011 0100 rrrr 0000 0001 0010 0011 0100 rrrr rrrr 0000 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr
Hex 0000 0001 0002 0003 0004 000r 0010 0011 0012 0013 0014 001r 00rr 0080 00rr 01rr 01rr 01rr 01rr 02rr 02rr 02rr 02rr 03rr 03rr 03rr 03rr 04rr 04rr 04rr 04rr 05rr 05rr 05rr 05rr 06rr 06rr 06rr 06rr 07rr 07rr 07rr 07rr 0xxx 0xxx 0xxx 0xxx 1kkk 1kkk
Mnemonic NOP DAA CONTW SLEP WDTC IOW ENI DISI RET RETI CONTR IOR MOV CLRA CLR SUB SUB DECA DEC OR OR AND AND XOR XOR ADD ADD MOV MOV COMA COM INCA INC DJZA DJZ RRCA RRC RLCA RLC SWAPA SWAP JZA JZ BC BS JBC JBS CALL JMP R R, R A, R, R R A, R, A, R, A, R, A, R, A, R, R R R R R R R R R R R R R R R, R, R, R, k k
Operation No Operation Decimal Adjust A A CONT 0 WDT, Stop oscillator 0 WDT A IOCR Enable Interrupt Disable Interrupt [Top of Stack] PC [Top of Stack] PC, Enable Interrupt CONT A IOCR A AR 0A 0R R-A A R-A R R-1 A R-1 R ARA ARR A&RA A&RR ARA ARR A+RA A+RR RA RR /R A /R R R+1 A R+1 R R-1 A, skip if zero R-1 R, skip if zero R(n) A(n-1), R(0) C, C A(7) R(n) R(n-1), R(0) C, C R(7) R(n) A(n+1), R(7) C, C A(0) R(n) R(n+1), R(7) (C), C (R(0) R(0-3) ( A(4-7), R(4-7) ( A(0-3) R(0-3) ( R(4-7) R+1 A, skip if zero R+1 R, skip if zero 0 ( R(b) 1 ( R(b) if R(b)=0, skip if R(b)=1, skip PC+1 [SP], (Page, k) (PC) (Page, k) (PC)
Status Affected None C None T,P T,P None None None None None None None None Z Z Z,C,DC Z,C,DC Z Z Z Z Z Z Z Z Z,C,DC Z,C,DC Z Z Z Z Z Z None None C C C C None None None None None None None None None None
R
A R A
R A R A R A R A R R
b b b b
kkkk kkkk kkkk kkkk
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
Binary Instruction 1 1 1 1 1 1 1 1 1 1000 1001 1010 1011 1100 1101 1111 1110 1110 kkkk kkkk kkkk kkkk kkkk kkkk kkkk 1000 1001 kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk kkkk
Hex 18kk 19kk 1Akk 1Bkk 1Ckk 1Dkk 1Fkk 1E8k 1E9k
Mnemonic MOV OR AND XOR RETL SUB ADD PAGE BANK A, A, A, A, k A, A, k k k k k k k k
Operation kA AvkA A&kA AkA k A, [Top of Stack] PC k-A A k+A A K->R5(6:4) K->R4(7:6)
Status Affected None Z Z Z None Z,C,DC Z,C,DC None None
Note1: This instruction is applicable to IOC6 ~ IOCA, IMR1, IMR2 only.
5
Absolute Maximum Ratings
5.1 Absolute Maximum Ratings
Items Temperature under bias Storage temperature Input voltage Output voltage Operating Frequency (2clk) -40C -65C -0.3V -0.3V DC Rating to to to to to 85C 150C +6.0V +6.0V 10MHz
5.2 Recommended Operating Conditions
( Vss = 0V )
Symbol VDD Parameter Supply Voltage Crystal: VDD 4.5 to 5.5V Crystal: VDD 2.5 to 5.5V Condition Fc = 10MHz Fc = 4MHz Two cycles with two clocks Min. 4.0 2.5 1 1 Typ. Max. Unit 5.5 10 4 V
Fc
MHz
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 63
EM78P809N
8-Bit Microcontroller
6
Electrical Characteristics
6.1 DC Electrical Characteristics
(Ta= 25 C, VDD= 5.0V 5%, VSS= 0V)
Symbol Fc ERC VIHRC IRC1 VILRC IRC2 IIL VIH1 VIL1 VIHT1 VILT1 VIHX1 VILX1 IOH1 IOL1 IOL2 IPH IPL ISB1 ISB2 ICC3 Parameter XTAL: 4.5V to VDD ERC: VDD = 5V Input High Threshold Voltage (Schmitt trigger ) Sink current Input Low Threshold Voltage (Schmitt trigger ) Sink current Input Leakage Current for input pins Input High Voltage (Schmitt trigger) Input Low Voltage (Schmitt trigger) Input High Threshold Voltage (Schmitt trigger) Input Low Threshold Voltage (Schmitt trigger) Clock Input High Voltage Clock Input Low Voltage Output High Voltage (Ports 6, 7, 8, 9) Output Low Voltage (Port9) Output Low Voltage (Ports 6,Port7, Port8) Pull-high current Pull-Low current Sleep mode Power down current Sleep mode Power down current Idle mode Operating supply current at two clocks Normal mode Operating supply current at two clocks Condition Two cycles with two clocks R: 5.1K, C: 100 pF OSCI in RC mode VI from low to high , VI=5V OSCI in RC mode VI from high to low , VI=2V VIN = VDD, VSS Ports 6,7,8,9 Ports 6,7,8,9, /RESET, TCC, INT /RESET, TCC, INT OSCI in crystal mode OSCI in crystal mode VOH = VDD-0.4V VOL = VSS+0.4V VOL = VSS+0.4V Pull-high active, input pin at VSS Pull-high active, input pin at VDD WDT All input and I/O disabled pins at VDD, WDT output pin floating enabled VDD=5V, /RESET= 'High', Fc=8MHz, CLKS="0", output pin floating, WDT enabled Min. 1 630 2.8 15.5 1.3 12 -1 0.7VDD -0.3V 0.7 VDD -0.3V 0.7VDD -0.3V -3.5 3 12 -50 50 -5 5 15 -75 75 0.8 6 1.1 Typ. 900 4 22 1.8 17 0 Max. 10 1170 4.5 28.5 2.7 22 1 VDD +0.3V 0.3 VDD VDD +0.3V 0.3 VDD VDD+0.3V 0.3VDD -6.5 7 20 -100 100 1.5 10 1.5 Unit MHz kHz V mA V mA A V V V V V V mA mA mA A uA A A mA
ICC4
3.0
3.5
mA
*The typical value is based on characterization results at 25C
64 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller (Ta= 25 C, VDD= 3.0V 5%, VSS= 0V)
Symbol Fc ERC VIHRC IRC1 VILRC IRC2 IIL VIH1 VIL1 VIHT2 VILT2 VIHX1 VILX1 IOH1 IOL1 IOL2 IPH IPL ISB1 ISB2 ICC3 Parameter XTAL: 2.5V to VDD ERC: VDD = 3V Input High Threshold Voltage (Schmitt trigger) Sink current Input Low Threshold Voltage (Schmitt trigger) Sink current Input Leakage Current for input pins Input High Voltage (Schmitt trigger) Input Low Voltage (Schmitt trigger) Input High Threshold Voltage (Schmitt trigger) Input Low Threshold Voltage (Schmitt trigger) Clock Input High Voltage Clock Input Low Voltage Output High Voltage (Ports 6, 7, 8, 9) Output Low Voltage (Ports9) Output Low Voltage (Ports 6,Port7, Port8) Pull-high current Pull-low current Sleep mode Power down current Sleep mode Power down current Idle mode Operating supply current at two clocks Normal mode Operating supply current at two clocks Condition Two cyclea with two clocks R: 5.1K, C: 100 pF OSCI in RC mode VI from low to high , VI=5V OSCI in RC mode VI from high to low , VI=2V VIN = VDD, VSS Ports 6,7,8,9,A Ports 6,7,8,9,A /RESET, TCC /RESET, TCC LOSCI,OSCI in crystal mode LOSCI,OSCI in crystal mode VOH = VDD-0.4V VOL = VSS+0.4V VOL = VSS+0.4V Pull-high active, input pin at VSS Pull-low active, input pin at VDD All input and I/O WDT disabled pins at VDD, output pin floating WDT enabled Min. 1 600 1.6 7 0.7 6 -1 0.7VDD -0.3V 0.7 VDD -0.3V 0.7 VDD -0.3V -2 2 10 -15 15 -3.5 3.5 13 -23 23 0.4 1.5 0.3 Typ. 850 2.3 9.5 1 8.5 0 Max. 4 1100 2.8 12 1.3 11 1 VDD+0.3V 0.3VDD VDD +0.3V 0.3 VDD VDD +0.3V 0.3 VDD -5 5 16 -31 30 0.8 3 0.5 Unit MHz kHz V uA V uA A V V V V V V mA mA mA uA uA A A mA
ICC4
VDD=3V, /RESET= 'High', Fc=4MHz, CLKS="0", output pin floating, WDT enabled
1.1
1.5
mA
*The typical value is based on characterization results at 25C
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 65
EM78P809N
8-Bit Microcontroller A/D Converter Characteristic (VDD =2.5V to 5.5V, Vss=0V, Ta = -40 to 85
Symbol VAREF VASS VAI IAI1 IVDD Ivref IVDD IVref Parameter Condition 2.5V Min. 2.5 Vss VASS VDD =VAREF=5.0V, VASS =0.0V (V reference from VDD) VDD =VAREF=5.0V, VASS =0.0V (V reference from VREF) VDD =VAREF=5.0V, VASS =0.0V VDD = 2.5 to 5.5V Ta=25 VDD = 2.5 to 5.5V Ta=25 VDD =VAREF=5.0V, VASS =0.0V VDD =VAREF=5.0V, VASS =0.0V 750 -10 500 200 9 0 0 0 0 0 VDD =VAREF=5.0V, VASS =0.0V VDD =VAREF=5.0V, VASS =0.0V VDD =VAREF=5.0V, VASS =0.0V VDD =VAREF=5.0V, VASS =0.0V, RL=10K VDD =5.0V0.5V 4 14 0 0 4.7 0 0.2 4.8 14 VAREF 0.3 5 2 850 0 600 250 10 1 0.5 1 0.5 8 2 0.9 2 1 10
)
Typ. Max. VDD Vss VAREF 1000 +10 820 300 Unit V V V uA uA uA uA Bits LSB LSB LSB LSB K us TAD V V LSB
Analog reference voltage VAREF - VASS Analog input voltage Analog supply current
IAI2
Analog supply current Resolution Linearity error Differential nonlinear error Full scale error Offset error Recommended impedance of analog voltage source A/D clock period A/D conversion time A/D input voltage range A/D output voltage swing Power Supply Rejection
RN LN DNL FSE OE ZAI TAD TCN ADIV ADOV PSR
66 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
6.2 AC Electrical Characteristic
(Ta=- 40C ~ 85 C, VDD=5V 5%, VSS=0V)
Symbol Dclk Tins Ttcc Tdrh Trst Twdt Tset Thold Tdelay Tstup1 Thold1 Tvalid1 Tsckh Tsckl Parameter Input CLK duty cycle Instruction cycle time Crystal type (high frequency) (CLKS="0") RC type TCC input period Device reset hold time /RESET pulse width Watchdog timer period Input pin setup time Input pin hold time Output pin delay time Cload=20pF SDI data setup time Setup time of SDI data input to SCK or SCK SDI data hold time SCK input high time SCK input low time Hold time of SDI data input to SCK or SCK or SCK to SDO data output Slave mode (Fmain=8 MHz) Slave mode (Fmain=8 MHz) to SCK or SCK (Fmain=8 MHz) to SDO output hi-impedance delay time SDO output valid time SCK 200 200 400 Ta = 25C Ta = 25C Ta = 25C Conditions Min 45 200 500 (Tins+20)/ N* 11.3 2000 11.3 16.2 21.6 0 20 50 25 25 25 25 50 50 50 50 16.2 21.6 Typ Max Unit 50 55 DC DC % ns ns ns ms ns ms ns ns ns ns ns ns ns ns ns ns
Tsetup2 Slave mode setup /SS time Tdelay1 Slave mode unselect /SS delay time
* N= selected prescaler ratio
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 67
EM78P809N
8-Bit Microcontroller
6.3
Timing Diagram
AC Test Input/Output W aveform
2.4 2.0 0.8 0.4
TEST POINTS
2.0 0.8
AC Testing : Input is driven at 2.4V for logic "1",and 0.4V for logic "0".Timing m easurem ents are m ade at 2.0V for logic "1",and 0.8V for logic "0".
RESET Timing (CLK="0")
NOP
Instruction 1 Executed
CLK
/RESET
Tdrh
TCC Input Timing (CLKS="0")
Tins
CLK
TCC
Ttcc
68 *
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
APPENDIX
Package Types:
OTP MCU EM78P809NP EM78P809NM EM78P809NS Package Type DIP SOP SSOP Pin Count 28 28 28 Package Size 600 mil 300 mil 209 mil
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 69
EM78P809N
8-Bit Microcontroller
CONTENTS ............................................................................................................ III 1 General Description********************************************************************************************1 2 Features***************************************************************************************************************1
2.1 2.2 CPU ****************************************************************************************************************************************1 Applications*****************************************************************************************************************************2
3 Pin Assignment***************************************************************************************************3 4 Pin Description****************************************************************************************************3 4 Function Description ******************************************************************************************5
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Functional Block Diagram*******************************************************************************************************5 Operating Registers ****************************************************************************************************************6 Special Purpose Registers****************************************************************************************************23 CPU Operation Mode ***********************************************************************************************************27 AD Converter ************************************************************************************************************************29 Time Base Timer and Keytone Generator ****************************************************************************31 UART (Universal Asynchronous Receiver/Transmitter)********************************************************33 SPI (Serial Peripheral Interface) *******************************************************************************************36 Timer/Counter 2 ********************************************************************************************************************40
4.10 Timer/Counter 3 ********************************************************************************************************************42 4.11 Timer/Counter 4 ********************************************************************************************************************44 4.12 TCC/WDT & Prescaler**********************************************************************************************************46 4.13 I/O Ports********************************************************************************************************************************47 4.14 RESET and Wake-up************************************************************************************************************47 4.15 Interrupt*********************************************************************************************************************************54 4.16 Oscillator *******************************************************************************************************************************55 4.17 Code Option Register ***********************************************************************************************************58 4.18 Power-on Considerations *****************************************************************************************************59 4.19 Instruction Set ***********************************************************************************************************************61
5 Absolute Maximum Ratings *****************************************************************************63
5.1 5.2 Absolute Maximum Ratings **************************************************************************************************63 Recommended Operating Conditions***********************************************************************************63
6 Electrical Characteristics *********************************************************************************64
6.1 6.2 6.3
70 *
DC Electrical Characteristics ************************************************************************************************64 AC Electrical Characteristic **************************************************************************************************67 Timing Diagram********************************************************************************************************************68
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
EM78P809N
8-Bit Microcontroller
APPENDIX***************************************************************************************************************69
Package Types: ******************************************************************************************************************************69
Product Specification (V1.0) 07.26.2005
(This specification is subject to change without further notice)
* 71


▲Up To Search▲   

 
Price & Availability of EM78P809NP

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X